搜索

不会循环在while(1)中

[复制链接]
371|9
wenfen|  楼主 | 2021-6-9 22:27 | 显示全部楼层 |阅读模式
看门狗开启,器件唤醒之后会复位从0000h开始执行,而不会循环在while(1)中,请问各位?
void main()
{
  TRISD=0X00;
  LATD=0X01;
while(1)
{
  WDTCONbits.WDTPS=0b01100;             //4s定时
  WDTCONbits.SWDTEN=1;                     //开启看门狗
   SLEEP();
   nop();
   LATD=0XFF;
}
}

使用特权

评论回复
juventus9554| | 2021-6-9 22:30 | 显示全部楼层
这是什么问题?自己都不知道自己 想说啥

使用特权

评论回复
dingy| | 2021-6-9 22:32 | 显示全部楼层
开启了看门狗在睡眠下继续工作,看门狗超时复位,自然是从0000H执行了,看门狗复位和上电复位类似

使用特权

评论回复
llljh| | 2021-6-9 22:35 | 显示全部楼层
都复位了,你还想从哪儿运行

使用特权

评论回复
pengf| | 2021-6-9 22:37 | 显示全部楼层
你可以在main开始弄个复位类型判断,让它直接跳转到while。

使用特权

评论回复
supernan| | 2021-6-9 22:40 | 显示全部楼层
每种串口都对应一个标志位的。

使用特权

评论回复
dingy| | 2021-6-9 22:42 | 显示全部楼层
睡眠模式下,看门狗溢出,从SLEEP()下一条指令开始执行

使用特权

评论回复
yszong| | 2021-6-9 22:51 | 显示全部楼层
你这是复位吧,不是唤醒啊

使用特权

评论回复
zhanglli| | 2021-6-9 22:55 | 显示全部楼层
器件型号?有的器件sleep唤醒是从0开始,有的是下一条,你要看休眠唤醒那一章怎么说的

使用特权

评论回复
wenfen|  楼主 | 2021-6-9 22:56 | 显示全部楼层
明白了,多谢大家讨论这么多哈

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 kk的回忆 得到打赏 ¥600.00
  • 2 名字还没想好 得到打赏 ¥350.00
  • 3 天意无罪 得到打赏 ¥312.00
  • 4 wolfe_yu 得到打赏 ¥210.00
  • 5 呐咯密密 得到打赏 ¥170.00
  • 6 gaoyang9992006 得到打赏 ¥120.00
  • 7 CZF11 得到打赏 ¥100.00
  • 8 年轻的国王 得到打赏 ¥90.00
  • 9 hunteredward 得到打赏 ¥90.00
  • 10 blust5 得到打赏 ¥85.00
在线客服 快速回复 返回顶部 返回列表