打印
[PIC®/AVR®/dsPIC®产品]

如何看门狗定时唤醒程序执行完成后进入休眠

[复制链接]
5250|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zqy75|  楼主 | 2014-4-6 09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zqy75 于 2014-4-7 10:28 编辑

一个低功耗项目,要求单片机处于休眠状态,用看门狗定时唤醒。程序如何写。帮我写一个例程
void main(void)
{
while(1)
    {
if (mTouch_isDataReady())   // Is new information ready?
        {
            mTouch_Service();     
               
           if (mTouch_GetToggleState(0)== MTOUCH_TOGGLE_OFF) { LED0 = LED_OFF;LEDOUT0=LED_ON; } else { LED0 = LED_ON;LEDOUT0=LED_OFF;}
           if (mTouch_GetToggleState(1)== MTOUCH_TOGGLE_OFF) { LED1 = LED_OFF;LEDOUT1=LED_ON; } else { LED1 = LED_ON;LEDOUT1=LED_OFF; }
           if (mTouch_GetToggleState(2)== MTOUCH_TOGGLE_OFF) { LED2 = LED_OFF;LEDOUT2=LED_ON; } else { LED2 = LED_ON;LEDOUT2=LED_OFF; }
         
         
       }

以上是主程序在扫描三个传感器,要求单片机定时唤醒(看门狗溢出唤醒)执行主程序,执行完成进入休眠,那个大侠指教
沙发
tozxq| | 2014-4-7 09:01 | 只看该作者
在主程序中加入休眠指令即可,休眠前请设置好看门狗分频比(未分频时约18ms触发看门狗复位),配置位中开启看门狗功能;另外请注意看门狗唤醒后是继续执行后面的指令还是复位从头开始执行(PIC不同型号会有所不同),请查看使用型号的规格书中《特殊寄存器的初始化调节》表来判断。

使用特权

评论回复
板凳
兰天白云| | 2014-4-7 15:46 | 只看该作者
按楼主的意思采用唤醒后从头开始执行比较合适,当执行完预设的指令后 SLEEP

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

1

粉丝