STC15W系列单片机休眠唤醒与看门狗配置问题

  • 关于STC单片机之定时器唤醒与看门狗寄存器配置
  • 硬件看门狗
    • 硬件看门狗配置
  • 主程序参考配置

本次是记录自己在STC单片机低功耗模式下使用过程中遇到的一些问题。本来想这是一件简单的事情,三下五除二就能解决问题了。在实际配置中却遇到了一些波折,在这里做一个学习记录,方便以后自己查看。

关于STC单片机之定时器唤醒与看门狗寄存器配置

最开始的时候,我先完计数周期配置,最后再使能定时器唤醒。结果不论怎么配置,总时间都不变。经过多次测试摸索,最后确定WKTCH寄存器要一次完成写入配置。

正确配置,如:
void sy_sys_wakeup(void){unsigned short timer = 0;
//   timer = 16384;timer = 8192;//唤醒时间if(timer>=0x7fff)timer = 0x7fff;timer |= 0x8000;WKTCL = timer%256; WKTCH = timer/256;
}
错误配置,如:
void sy_sys_wakeup(void){unsigned short timer = 0;
//   timer = 16384;timer = 8192;//唤醒时间if(timer>=0x7fff)timer = 0x7fff;WKTCL = timer%256; WKTCH = timer/256;    WKTCH  |=0x80;
}

硬件看门狗

STC15单片机看门狗配置起来很简单,只需要配置一个寄存器就好了。当然了,现实中,如果没有遇到一点点曲折,我也不会写这篇文章了。
故事事这样的:最开始的时候,我已经配置好休眠唤醒了,单片机利用唤醒寄存器,进行周期唤醒。即,单片机配置为: PCON |= 0x02。最后实测发现,我配置看门狗复位为2秒,结果经过了1分钟也没有出现复位重启问题。开始怀疑自己配置问题,查阅芯片手册,研究来研究去,也没有发现自己配置上的错误。后面经过了大半天时间,猜想到会不会是休眠计数器不走引起的呢?
后面一试将PCON |= 0x02注释掉,结果就正常复位了。验证了自己猜想。

硬件看门狗配置

这个配置起来很简单,具体参考STC用户手册即可。如下,是自己配置的一个参考:

void sy_sys_dog_init(void){WDT_CONTR = 0x27;  //配置为最长周期
}
void sy_dog_load(void)
{WDT_CONTR |= 0x10;      //启动看门狗}

主程序参考配置

void mian(void){................
sy_sys_wakeup(); //定时唤醒
sy_sys_dog_init();
while(1){//  usaer handlesy_dog_load();PCON |= 0x02;         _nop_();           _nop_();_nop_();
}
}

STC15W系列单片机休眠唤醒与看门狗配置问题相关推荐

  1. Arduino休眠模式和看门狗以及中断详解

    休眠模式.看门狗.中断 一.休眠模式 睡眠中断的触发 二.看门狗 实例一 实例二 三.外部中断 1.为什么需要中断? 2.不关心功耗还需要中断吗? 3.各种板子的中断 4.中断函数.中断触发模式与设置 ...

  2. STM32F103五分钟入门系列(十三)独立看门狗IWDG

    参考:STM32F103五分钟入门系列(十三)独立看门狗IWDG 作者:自信且爱笑' 发布时间:2021-07-31 19:50:28 网址:https://blog.csdn.net/Curnane ...

  3. 【转载】外设使用Tips之MPC574xP系列汽车级MCU的SWT看门狗定时器配置与使用

    外设使用Tips之MPC574xP系列汽车级MCU的SWT看门狗定时器配置与使用 原创 2017-09-13 胡恩伟 汽车电子expert成长之路 内容提要 引言 1. SWT的功能概述 2. SWT ...

  4. stc15w系列单片机——TCRT5000(寻迹传感器)与光敏传感器(附代码)

    stc15w系列单片机--TCRT5000(寻迹传感器)与光敏传感器 一.TCRT5000 1.模块介绍 2.寻迹传感器原理图 二.寻迹与光敏传感器代码 一.TCRT5000 1.模块介绍 一般功能有 ...

  5. 51单片机(十三)—— 看门狗功能测试

    一.看门狗介绍 在由单片机构成的系统中,由于单片机的工作有可能受到外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态 ...

  6. STC51单片机学习笔记1——看门狗程序测试

    测试STC单片机看门狗功能,代码如下: #include <reg52.h> sfr WDT_CONTR =0xE1; //声明WDT_CONTR void delay(void){uns ...

  7. 单片机:什么是看门狗?

    看门狗是单片机里的一种技术(软硬件都可以),其目的是为了保护芯片避免其进入死循环(或者说程序跑飞).看门狗有一个输入端和一个输出端.看门狗和单片机程序的主体部分连接,如果主体部分运行正常,那么每一段时 ...

  8. STM32F103ZE单片机在WWDG窗口看门狗的EWI中断中喂狗导致系统复位的原因及解决办法(中断函数重入问题)

    版权声明:本文为博主原创文章,欢迎转载    https://blog.csdn.net/ZLK1214/article/details/78308058 程序开启了WWDG的Early wakeup ...

  9. STC89系列单片机看门狗的使用及应用程序

    转载:STC89系列单片机看门狗的使用及应用程序 "看门狗"概念及其应用在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程 ...

最新文章

  1. python命令行参数处理
  2. Android NDK JNI开发3
  3. [翻译]XNA 3.0 Game Programming Recipes之twenty-one
  4. 胶囊网络全新升级!引入自注意力机制的Efficient-CapsNet
  5. 孤尽独家解读《Java开发手册》,速来预约!
  6. 推荐系统与协作过滤面临的主要问题
  7. Oracle ADF和Oracle Jet一起工作。 建筑模式
  8. 【BZOJ1965】【codevs1446】洗牌,快速幂+扩展欧几里德
  9. LeetCode(437)——路径总和 III(JavaScript)
  10. vMotion、SvMotion、HA和FT的详细对比说明
  11. 数据库路由中间件MyCat - 源代码篇(16)
  12. 复工复产到欧洲,深兰科技环卫产品亮相国际舞台
  13. 三维实时云渲染平台解决方案
  14. DICOM:Transfer Syntax传输语义之奇葩GE Private TS
  15. 秒杀分部积分,提高计算幸福感——表格积分法
  16. 解决IDEA src下的目录全部变灰无法运行
  17. Windows10退出微软账户使用本地账户
  18. 微信、QQ发消息功能测试用例
  19. Python爬虫requests模块在线生成请求头
  20. BIOS入门基础------SLES12源码获取

热门文章

  1. ubuntu系统安全和防护-区分固态硬盘和机械硬盘
  2. android fragment加载布局的方式,Android中Fragment的加载方式与数据通信详解
  3. mysql基于SSL实现主从复制
  4. gabor特征提取 matlab,Gabor特征提取
  5. PyTorch 单卡多卡训练模型常用命令
  6. 做好这几点,web应用性能将极大提高(二)
  7. Thank you,kobe
  8. nyoj 451 光棍节快乐
  9. C#_配置文件读取(含:ASP.NET CORE 、Winform)
  10. emwin的模拟器配置