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

STM8S执行wfi()导致无法复位

[复制链接]
feifan570 提问时间:2015-9-2 18:04 /
硬件平台是: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();
    }
}

收藏 评论1 发布时间:2015-9-2 18:04

举报

1个回答
guiyi 回答时间:2015-9-3 22:05:13
死机时程序跑到那里了?
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版