[求助] 关于ucos系统下STM32看门狗的使用问题!

daicheng   2009-4-13 09:14 楼主
目前我的使用方法为:
配置过程:
void Wdg_Init(void)
{

// Enable WDG clocks 

RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG , ENABLE);

// PCKL1: 36MHZ 

// WWDG clock counter = (PCLK1/4096)/8 = 488 Hz (~2 ms)  
  
WWDG_SetPrescaler(WWDG_Prescaler_8);
  
// Set Window value to 65 
  
WWDG_SetWindowValue(65);
  
// Enable WWDG and set counter value to 127, WWDG timeout = ~2 ms * 64 = 130 ms 
  
WWDG_Enable(127);

// Clear EWI flag 
  
WWDG_ClearFlag();
  
//Enable EW interrupt 
  
WWDG_EnableIT();

}
在中断中使用:
void WWDG_IRQHandler(void)
{

OS_CPU_SR  cpu_sr;
    OS_ENTER_CRITICAL();
//Tell uC/OS-II that we are starting an ISR
    OSIntNesting++;
    OS_EXIT_CRITICAL();


// Update WWDG counter 

if(wdg_clr_flag == 1)

{
  
WWDG_SetCounter(0x7F);

wdg_clr_flag = 0;

}

  
// Clear EWI flag 
  
WWDG_ClearFlag();


OSIntExit();         // Tell uC/OS-II that we are leaving the ISR 
}

wdg_clr_flag 这个标志是在钩子函数中设置
extern volatile unsigned long
wdg_clr_flag;
void  OSTaskIdleHook (void)
{
  wdg_clr_flag = 1;
}
我想知道大家都是怎么用的!大家可以和我讨论一下吗?
处处留心皆学问!

回复评论 (8)

Re: [求助] 关于ucos系统下STM32看门狗的使用问题!

加油!在电子行业默默贡献自己的力量!:)
点赞  2009-4-14 16:25

Re: [求助] 关于ucos系统下STM32看门狗的使用问题!

最好能说明一下这样用会存在的问题? 或自己认为可能存在的问题 这样大家都可以参与进来。。。
换个思路问这个问题 大家也许都会发表自己的意见的
每天进步一点点
点赞  2009-4-14 16:42
项一下吧,大家都是怎么用的啊?
处处留心皆学问!
点赞  2009-5-6 14:00
支持一下。。。。。。。。。。。先凑点芯币
点赞  2009-5-11 08:37
确实是好东西,感谢楼主
点赞  2009-9-8 11:05
。。。。谢谢楼主。。。。
点赞  2010-3-28 09:33
上边怎么谢上了?人家楼主不是来讨论问题的嘛
点赞  2010-12-24 11:23
我发表下自己的愚见。。。。如果空闲任务在看门复位的有效时间内得不到响应怎么办。。。可能是其他高优先权的任务一直在相互调动而不是程序异常。。。
点赞  2011-4-17 14:56
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复