1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /********************************* (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);
-
- /* Port initialization done in "gpio_init" */
- /* 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);
- GPIOC->ODR ^= WDT_PIN;
- }*/
- /********************************* (C) РОТЕК **********************************/
|