STC15W系列单片机休眠唤醒与看门狗配置问题
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系列单片机休眠唤醒与看门狗配置问题相关推荐
- Arduino休眠模式和看门狗以及中断详解
休眠模式.看门狗.中断 一.休眠模式 睡眠中断的触发 二.看门狗 实例一 实例二 三.外部中断 1.为什么需要中断? 2.不关心功耗还需要中断吗? 3.各种板子的中断 4.中断函数.中断触发模式与设置 ...
- STM32F103五分钟入门系列(十三)独立看门狗IWDG
参考:STM32F103五分钟入门系列(十三)独立看门狗IWDG 作者:自信且爱笑' 发布时间:2021-07-31 19:50:28 网址:https://blog.csdn.net/Curnane ...
- 【转载】外设使用Tips之MPC574xP系列汽车级MCU的SWT看门狗定时器配置与使用
外设使用Tips之MPC574xP系列汽车级MCU的SWT看门狗定时器配置与使用 原创 2017-09-13 胡恩伟 汽车电子expert成长之路 内容提要 引言 1. SWT的功能概述 2. SWT ...
- stc15w系列单片机——TCRT5000(寻迹传感器)与光敏传感器(附代码)
stc15w系列单片机--TCRT5000(寻迹传感器)与光敏传感器 一.TCRT5000 1.模块介绍 2.寻迹传感器原理图 二.寻迹与光敏传感器代码 一.TCRT5000 1.模块介绍 一般功能有 ...
- 51单片机(十三)—— 看门狗功能测试
一.看门狗介绍 在由单片机构成的系统中,由于单片机的工作有可能受到外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态 ...
- STC51单片机学习笔记1——看门狗程序测试
测试STC单片机看门狗功能,代码如下: #include <reg52.h> sfr WDT_CONTR =0xE1; //声明WDT_CONTR void delay(void){uns ...
- 单片机:什么是看门狗?
看门狗是单片机里的一种技术(软硬件都可以),其目的是为了保护芯片避免其进入死循环(或者说程序跑飞).看门狗有一个输入端和一个输出端.看门狗和单片机程序的主体部分连接,如果主体部分运行正常,那么每一段时 ...
- STM32F103ZE单片机在WWDG窗口看门狗的EWI中断中喂狗导致系统复位的原因及解决办法(中断函数重入问题)
版权声明:本文为博主原创文章,欢迎转载 https://blog.csdn.net/ZLK1214/article/details/78308058 程序开启了WWDG的Early wakeup ...
- STC89系列单片机看门狗的使用及应用程序
转载:STC89系列单片机看门狗的使用及应用程序 "看门狗"概念及其应用在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程 ...
最新文章
- python命令行参数处理
- Android NDK JNI开发3
- [翻译]XNA 3.0 Game Programming Recipes之twenty-one
- 胶囊网络全新升级!引入自注意力机制的Efficient-CapsNet
- 孤尽独家解读《Java开发手册》,速来预约!
- 推荐系统与协作过滤面临的主要问题
- Oracle ADF和Oracle Jet一起工作。 建筑模式
- 【BZOJ1965】【codevs1446】洗牌,快速幂+扩展欧几里德
- LeetCode(437)——路径总和 III(JavaScript)
- vMotion、SvMotion、HA和FT的详细对比说明
- 数据库路由中间件MyCat - 源代码篇(16)
- 复工复产到欧洲,深兰科技环卫产品亮相国际舞台
- 三维实时云渲染平台解决方案
- DICOM:Transfer Syntax传输语义之奇葩GE Private TS
- 秒杀分部积分,提高计算幸福感——表格积分法
- 解决IDEA src下的目录全部变灰无法运行
- Windows10退出微软账户使用本地账户
- 微信、QQ发消息功能测试用例
- Python爬虫requests模块在线生成请求头
- BIOS入门基础------SLES12源码获取