硬件平台是:STMS05K6,开发工具是IAR;伪代码如下,偶尔会出现死机,按下复位按钮也没有用,只能重新上电。 如果我把看门狗的代码去掉,并去掉wfi()指令,就没有问题。 是不是我对看门狗使用不正确,还是其他的问题? 程序伪代码如下: void main(void) { //初始化看门狗 IWDG->KR = IWDG_KEY_ENABLE; IWDG->KR = IWDG_WriteAccess_Enable; IWDG->RLR = 0xff; IWDG->PR = IWDG_Prescaler_64; IWDG->KR = IWDG_WriteAccess_Disable; //初始化定时器,10ms中断一次 .... while(1) { if(is_10ms) { //10ms is_10ms = 0; IWDG->KR = IWDG_KEY_REFRESH; } ....执行其他操作 wfi(); nop(); nop(); } } |
死机时程序跑到那里了? |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮