| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- /********************************* (C) РОТЕК ***********************************
 
-  * @module  wdg
 
-  * @file    wdg.c
 
-  * @version 1.0.0
 
-  * @date    XX.XX.XXXX
 
-  * $brief   External watchdog (pin PE11)
 
-  *******************************************************************************
 
-  * @history     Version  Author         Comment
 
-  * XX.XX.XXXX   1.0.0    Telenkov D.A.  First release.
 
-  *******************************************************************************
 
-  */
 
- #include "stm32f4xx.h"  
 
- #include "wdg.h"
 
- /**
 
-   * @brief  
 
-   * @retval 
 
-   */
 
- void WDG_Init(void)
 
- {
 
-   
 
-   GPIO_InitTypeDef GPIO_InitStructure;
 
-   NVIC_InitTypeDef          NVIC_InitStructure;
 
-   TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure;
 
-   
 
-   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
 
-   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM13, ENABLE);
 
-   
 
-   GPIO_InitStructure.GPIO_Pin = WDT_PIN;
 
-   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 
-   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
 
-   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
 
-   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
 
-   GPIO_Init(GPIOE, &GPIO_InitStructure);
 
-   
 
-   NVIC_InitStructure.NVIC_IRQChannel = TIM8_UP_TIM13_IRQn;
 
-   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x6;
 
-   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0;
 
-   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
 
-   NVIC_Init(&NVIC_InitStructure);
 
-   NVIC_SetPriority(TIM8_UP_TIM13_IRQn, 2);
 
-   
 
-   /* APB1 Timer clock is 60Mhz, configure timer clock to 10khz (1 update event per 100 us) */
 
-   TIM_TimeBaseStructure.TIM_Prescaler = 6000 - 1;
 
-   /* Configure timer period to 100ms */
 
-   TIM_TimeBaseStructure.TIM_Period = 1000;
 
-   TIM_TimeBaseStructure.TIM_ClockDivision = 0;
 
-   TIM_TimeBaseStructure.TIM_CounterMode	= TIM_CounterMode_Up;
 
-   TIM_TimeBaseInit(TIM13, &TIM_TimeBaseStructure);
 
-   
 
-   TIM_Cmd(TIM13, ENABLE);
 
-   TIM_ITConfig(TIM13, TIM_IT_Update, ENABLE);
 
-   
 
- }
 
- /**
 
-   * @brief  Дергаем пином (сброс внешнего WDT)
 
-   * @retval 
 
-   */
 
- void TIM8_UP_TIM13_IRQHandler(void)
 
- {
 
-   TIM_ClearITPendingBit(TIM13, TIM_IT_Update);
 
-   GPIOE->ODR ^= WDT_PIN;
 
- }
 
- /**
 
-   * @brief  Дергаем пином (сброс внешнего WDT)
 
-   */
 
- void WDT_Reset(void)
 
- {
 
-   GPIOE->ODR ^= WDT_PIN;
 
- }
 
- /********************************* (C) РОТЕК **********************************/
 
 
  |