STM8L101活跃停机(AWU)编程教学

虽然在网上找到很多STM8活跃停机的编程方法,但是STM8的型号不一样,程序也是有差异的,我找了一圈没有找到STML101的程序,本来还想着偷一下懒的,无奈之下只好自己看手册和库函数,花了一点时间终于调试成功了。好了,接下来我就给大家讲一下活跃停机模式的代码要怎么写,希望对你有帮助。

整体的流程是:
1、打开AWU的时钟
2、设定计时的时间
3、使能AWU
4、进入停机模式
5、定时唤醒后清除标志

1、打开AWU的时钟。
这个简单,直接调用下面这个函数就行。这个函数在stm8l10x_clk.c里面。

CLK_PeripheralClockConfig(CLK_Peripheral_AWU, ENABLE);//初始化AWU的时钟

2、设定计时的时间。
这个直接调用下面这个函数就行,AWU_Init()函数在stm8l10x_awu.c里面,AWU_Timebase_30s在stm8l10x_awu.h,这个定时的时间有17种选择,最大30s。如果想定时更长的时间,只能在唤醒之后马上进入睡眠,反复多次,直到达到需要定时的时间为止。

AWU_Init(AWU_Timebase_30s);//设定计时时间,最大30s

注:如果对定时的时间要求很严格的话,在调用AWU_Init()函数之前需要先调用AWU_LSICalibrationConfig()函数校准,这个就比较复杂了,网上也有相关的程序,我就不多说了。
3、使能AWU。
直接调用就行了。

AWU_Cmd(ENABLE);

4、进入停机模式。
直接调用面这个函数就行了。定时器是在进入停机模式之后才开始计时的。

halt();

5、定时唤醒后清除标志。
INTERRUPT_HANDLER()函数在stm8l10x_it.c里面。

INTERRUPT_HANDLER(AWU_IRQHandler,4)
{/* In order to detect unexpected events during development,it is recommended to set a breakpoint on the following instruction.*/ AWU_GetFlagStatus();//清除标志
}

完整的代码段:
//我这里是定时5分钟唤醒

//主函数
void main(void)
{u8 wakeuptime = 0;CLK_MasterPrescalerConfig(CLK_MasterPrescaler_HSIDiv1); //系统时钟1分频,16MHz//外设模块初始化,悬空的引脚输出低以降低功耗,根据你自己的需要写,不详细说了HarDriver_Init();//配置AWUCLK_PeripheralClockConfig(CLK_Peripheral_AWU, ENABLE);//初始化AWU的时钟AWU_Init(AWU_Timebase_30s);//设定计时时间,最大30sAWU_Cmd(ENABLE); while(1){if(AWU_Status_Flag == 1){AWU_Status_Flag = 0;wakeuptime ++;if(wakeuptime >= 10) //实际测试10次只能定时4分40秒            {//计时时间到wakeuptime = 0;   LED_ON;Delay_ms(500);LED_OFF; //取消定时唤醒,我这里不需要一直用活跃停机。如果是每间隔一段时间就唤醒,不需要加下面的代码//AWU_DeInit();//反初始化//CLK_PeripheralClockConfig(CLK_Peripheral_AWU, DISABLE);//AWU_Cmd(DISABLE);    }}halt();//进入休眠}
}//中断服务函数,在stm8l10x_it.c里面。
INTERRUPT_HANDLER(AWU_IRQHandler,4)
{/* 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;
}

好了,到这里就配置完成了,其实stm8的活跃停机是真的挺简单的,但是如果你以前没用过,可能就无从下手了,希望这篇文章能够帮到你。如果还有什么问题,可以联系我。如果文中有误,请一定要指正,谢谢!!

STM8L101活跃停机(AWU)编程教学相关推荐

  1. 主要编程教学语言的讨论

    转载自:http://blog.csdn.net/myan/article/details/2033386 CSDN首页推荐了一篇文章,说两位退休的美国大学教授上书反对将Java作为编程教学语言,对此 ...

  2. STM8单片机低功耗---活跃停机(Active Halt)模式实现-3

      在上一篇文章中使用活跃停机模式实现单片机的定时自动唤醒功能.STM8单片机低功耗-活跃停机(Active Halt)模式实现-2 通过这个实验可以看出,自动唤醒功能和定时器定时功能很类似,那么能不 ...

  3. STM8单片机低功耗---活跃停机(Active Halt)模式实现-1

      前两篇文章介绍了低功耗模式中的 等待(Wait)模式和停机(Halt)模式的实现.这篇文章开始介绍 活跃停机(Active Halt)模式. STM8单片机低功耗-等待(Wait)模式实现 STM ...

  4. 中小学python编程教学-中小学青少年编程课程

    导语概要 小码王少儿编程培训构建孩子面向未来的思维方式让中国儿童与世界同步快速咨询人工智能时代,让孩子赢在起跑线学习编程,提升孩子的综合学科能力,帮助孩子轻松升入名校,把握未来机会,提高自身竞争力.提 ...

  5. 终于有人说出来了——Java不适合于作为主要编程教学语言

    CSDN首页推荐了一篇文章,说两位退休的美国大学教授上书反对将Java作为编程教学语言,对此我表示高度认同.对于Java,我并不反感,而且相信它在工业应用中的地位不可取代,但是,我一直反对将Java作 ...

  6. [转]终于有人说出来了——Java不适合于作为主要编程教学语言

    CSDN首页推荐了一篇文章,说两位退休的美国大学教授上书反对将Java作为编程教学语言,对此我表示高度认同.对于Java,我并不反感,而且相信它在工业应用中的地位不可取代,但是,我一直反对将Java作 ...

  7. Python 或将成为法国高中的官方编程教学语言

    百度智能云 云生态狂欢季 热门云产品1折起>>>   Python 或将成为法国高中的官方编程教学语言,这将带来几十万甚至几百万的新用户.此消息来自 Nina ,她是微软云开发的倡导 ...

  8. 代码编程教学_少儿编程教学环境开发之代码实战篇

    少儿编程教学环境开发之代码实战篇​mp.weixin.qq.com 之前架构选型篇许诺要上自己原型demo的界面图,先把这个许诺给实现了,首先声明,这只是技术原型demo,比起http://code. ...

  9. python在线投票系统 统计票数_分层分平台,让每个学生享受教育公平 ——冯敬益老师的Python编程教学探索...

    在2月24日学校线上教学之前,冯敬益老师已早早告别了假期模式,投入到网络课程的建设之中. 为了让自己的课堂教学更有针对性,冯老师就任教的班级就同学们的学习条件展开调查.经统计,18-4H总人数28人, ...

最新文章

  1. 暑假第六周总结(2018.8.13-8.19)
  2. 文件上传利器SWFUpload入门简易教程
  3. Cpp 对象模型探索 / 编译器为对象创建缺省构造函数的条件
  4. 激光雷达和毫米波雷达的区别
  5. 亲密关系沟通-【情感勒索】建立良性沟通
  6. Mac 连不上华为 p9 处理历程(一)
  7. 计算机动画原理课程设计,Flash动画优化的原理和常用优化方式,毕业论文,课程设计,PPT,开发报告,外文翻译 - 论文助手...
  8. 计算机基础——Word 2010
  9. 博客左侧导航栏添加打赏功能(添加微信赞赏码)
  10. 关于IT程序员一些面试技巧
  11. Intel 处理器模型
  12. word2016背景色如何设置为保护眼睛的苹果绿
  13. SSOP48的定位尺寸
  14. 一个屌丝程序员的青春(三六六)
  15. 学习笔记(07):JavaWeb基础核心技术-11. 佟刚_JavaWEB_GenericServlet
  16. Bazel build Remote-caching
  17. 二维码解码器Zbar+VS2012开发环境配置
  18. 最终酬劳高达7.5亿美元,库克是功成身退还是潦草收场?
  19. STM32WL芯片解锁方法
  20. 湖南省第六届大学生计算机程序设计竞赛---弟弟的作业

热门文章

  1. Flash 透明播放
  2. 01_11_Java语言入门||02_面向对象与常用类||day11_final、权限、内部类、成员变量类型和方法的参数及返回值特例
  3. AISHELL-2021B-EVAL 安静+噪声家居环境近远讲同步语音测试数据集
  4. 加州大学河滨分校门玉洁课题组招收博士生两名——环境微生物方向
  5. PPT模板副业小项目,低成本,适合新手操作
  6. Android自定义时钟控件
  7. python永真循环_python永真循环_Python学习(一)
  8. STM32F1和F4的区别(转载)
  9. 解读微信终端开源背后的故事
  10. 信息系统项目管理师第三版 pdf可编辑_信息系统项目管理师备考资料-第三版(1)...