STM8S003 AWU休眠唤醒 寄存器和库函数2种做法
如题:
awu休眠,然后定时唤醒,两种写法
1、寄存器 注意时钟128KHz低速内部RC(LSI)
主函数:
AWU->APR = 0x3E; //64分频AWU->TBR = 0x0F; //30秒唤醒CLK->PCKENR2 |= (0x04); /* AWU与主时钟连接 */ AWU->CSR |= 0x10; //使能自动唤醒CLK->ICKR |= 0x08; // 打开内部低速时钟源 while(0x10 != CLK->ICKR & 0x10); // 等待时钟源信号稳定 CLK->ICKR |= 0x08; // 打开内部低速时钟源 while(0x10 != CLK->ICKR & 0x10); // 等待时钟源信号稳定
中断清除标记
#pragma vector = 0X03
__interrupt void AWU_IRQHandler(void)
{//WWDG->CR = 0x80;//复位stm8 这样写也可以,下面这写法也可以AWU_GetFlagStatus();//清除标志AWU_Status_Flag = 1; //自定义的全局变量 标记
}
主程序循环
halt(); while(1){ if(AWU_Status_Flag == 1) //全局变量{AWU_Status_Flag = 0;BUZZER_On();Delay(50000);BUZZER_Off();Delay(50000);halt();}
2 库函数方法
初始化
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU, ENABLE);//初始化AWU的时钟AWU_DeInit();AWU_Init(AWU_TIMEBASE_2S); //AWU_TIMEBASE_32MS AWU_TIMEBASE_2SCLK_LSICmd(ENABLE); //这个必须使能AWU_Cmd(ENABLE);
主循环
halt(); while(1){ if(AWU_Status_Flag == 1){AWU_Status_Flag = 0;BUZZER_On();Delay(50000);BUZZER_Off();Delay(50000);halt();}
}
中断函数
/*** @brief Auto Wake Up Interrupt routine.* @param None* @retval None*/
INTERRUPT_HANDLER(AWU_IRQHandler, 1)
{/* In order to detect unexpected events during development,it is recommended to set a breakpoint on the following instruction.*/AWU_GetFlagStatus();//清除标志AWU_Status_Flag = 1;
}
这样就可以看到 对应的
BUZZER_On 和BUZZER_Off 变换,也可以吧延时函数去掉,Delay(50000);
直接使用示波器看唤醒时间
if(AWU_Status_Flag == 1){AWU_Status_Flag = 0;BUZZER_On();//Delay(50000);BUZZER_Off();//Delay(50000);halt();}
调整 AWU->TBR = 0x0F; //32秒唤醒 或者 AWU_Init(AWU_TIMEBASE_2S);
可以看到唤醒时间都不一样
STM8S003 AWU休眠唤醒 寄存器和库函数2种做法相关推荐
- S32K14x CAN休眠唤醒的实现方案
S32K14x系列芯片的唤醒源 通过查阅S32K14X芯片的用户手册可以获取S32K14x芯片的和唤醒源如下图所示: 由上表可知S32K14x系列芯片的CAN模块在普通模式下不支持休眠唤醒功能,在Pr ...
- 2440 休眠唤醒的实现过程(作者:wogoyixikexie@gliet)
2440 休眠唤醒的实现过程(作者:wogoyixikexie@gliet) //----------------------------------------------------------- ...
- 一文搞懂ECU休眠唤醒之利器-TJA1145
前言 首先,小T请教大家几个小小问题,你清楚: 什么是TJA1145吗? 你知道休眠唤醒控制基本逻辑是怎么样的吗? TJA1145又是如何控制ECU进行休眠唤醒的呢? 使用TJA1145时有哪些注意事 ...
- JTA1145 休眠唤醒调试总结
最近因为项目,选择了这颗芯片,花了2天多时间,总算是把这个芯片的休眠唤醒功能基本调了,在这里做一个技术总结,希望可以帮到有需要的人! TJA1145芯片简介 TJA1145是一款高速CAN收发器,可在 ...
- STC15W系列单片机休眠唤醒与看门狗配置问题
STC15W系列单片机休眠唤醒与看门狗配置问题 关于STC单片机之定时器唤醒与看门狗寄存器配置 硬件看门狗 硬件看门狗配置 主程序参考配置 本次是记录自己在STC单片机低功耗模式下使用过程中遇到的一些 ...
- android休眠唤醒驱动流程分析【转】
转自:http://blog.csdn.net/hanmengaidudu/article/details/11777501 标准linux休眠过程: l power managemen ...
- 【资源共享】休眠唤醒 开发指南
本文档介绍了休眠唤醒重要概念及开发指引等内容 下载地址:http://dev.t-firefly.com/thread-13752-1-1.html 更多开发资料请到社区精华系列"资源共享& ...
- android保持服务不休眠,Android开发保持屏幕常亮和CPU不休眠唤醒状态
安卓手机 APP 开发,有的时候需要屏幕长时间亮着,也就是不锁屏,这时CPU会一直处于不休眠唤醒状态.下面介绍两种方法. 方法一:通过 PowerManager 实现. 此种方法会在软件安装时用户可以 ...
- android 休眠唤醒驱动流程分析,Android4.0.4休眠唤醒机制分析(基于MSM8260)
当手机满足一定的条件时,会进入休眠状态.从手机进入休眠到唤醒,主要分为三个阶段: early suspend suspend late resume early suspend执行在休眠前需要完成的一 ...
- 苹果Mac休眠唤醒后出现死机情况如何解决?
MacBook AIr进入休眠状态后,从休眠状态唤醒后,鼠标的图标一直处于转动状态,无法登录进入到系统中,出现死机的情况,强行按下电源键后,重启系统才能登录进去.此问题在macOS Catalina ...
最新文章
- 基于STC8G8K64U三通道高速ADC采集板
- 鸿蒙系统的功能如何,华为鸿蒙系统发布会,这个功能怎么那么像小米MIUI的
- 信息系统项目管理知识--项目整合管理
- 移动端C#病毒“东山再起”,利用知名应用通信实现远控隐私窃取
- thymeleaf模板引擎
- Hibernate基础
- 算法(17)-leetcode-剑指offer1
- java 图片分段上传_java 分段读取文件 并通过HTTP上传
- U盘安装centos 7 提示 “Warning: /dev/root does not exist, could not boot” 解决办法
- Shopify 英文(多国语言)国际网店 注册指南
- 彻底解决Spring MVC 中文乱码 问题
- java getreturntype_Java Method getGenericReturnType()方法
- 96 年美女胜出!那个有关“猪脸识别”的比赛决出冠军啦
- 【蓝桥杯】历届试题 分糖果
- AD调出LM358\393元器件不同部分A和B的part
- 十大领域管理软件供应商入选厂商如下(排名不分先后)
- python xlwt安装_python:安装xlwt模块
- 傅里叶分析 [作 者:韩 昊]
- 银行管理系统java论文_基于java的银行账户管理系统的设计与实现毕业论文.doc
- 三国志战略版360区S4服务器合并信息,三国志战略版S3合区表 新赛季哪些服务器合区...
热门文章
- 巨杉数据库 java,巨杉Tech|SequoiaDB 巨杉数据库高可用容灾测试
- 不解决产能低下的问题,直供模式也拯救不了小米
- 有趣的java编程题_java编程题 有趣的数
- Android stdio调试程序闪退或者报错:xxx keeps stopping解决方案
- 软工个人随笔3 罗骏 201521123121
- 【零基础学Python】爬虫篇 :第十一节--Python爬虫Urllib用法合集
- MariaDB ColumnStore初探(1):安装、使用及测试
- 2019念念不忘,2020必有回响!!!
- Pega How To系列之一:如何在页面上动态显示/隐藏内容 ----by Cheney Wang
- 中南林业科技大学的计算机研究生分数线,2020中南林业科技大学研究生分数线(以及历年复试)...