你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3599|回复: 0

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

[复制链接]

15

主题

7

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-4-16 14:30:10 | 显示全部楼层 |阅读模式
关于ucos系统下STM32看门狗的使用问题!

目前我的使用方法为:
配置过程:
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;
}
我想知道大家都是怎么用的!大家可以和我讨论一下吗?
回复

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版