完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM8 中断和低功耗模式
所有的中断都可以使处理器从待机模式(Wait)退出。 仅有外部中断和另外一些特定中断使才能使处理器从停机(Halt)模式退出。 当MCU STM8从挂起模式唤醒时候,如果有多个排队中断存在,那么第一个被响应的中断一定具有从挂起模式退出的能力。该选择是通过如图18所示的判断过程实现的。如果最高优先级的待相应的中断不能把设备从挂起模式唤醒的话,那么它将在后续被响应。 如果在执行HALT指令时,有一个内部或外部中断(例如时钟中断)发生,HALT指令会继续执行完毕,但这个中断会立刻调用唤醒进程。 这种情况下MCU实际上是从停机(Halt)模式被唤醒到运行模式,模式切换的延时为tWUH,详见数据手册。 STM8 活动等级/低功耗模式的控制 MCU的活动等级的配置是通过编程CFG_GCR寄存器的AL位来实现。(见1.3全局配置寄存器(CFG_GCR))。 该位是用来控制MCU的低功耗模式。在超低功耗的应用中,MCU大部分时间是运行在WFI/Halt模式中,仅在为执行特别任务的时候被唤醒(通过中断)。一些重复的任务可以直接在一个ISR(中断服务子程序)执行完成而不需要返回到主程序。为了处理这样情况,用户可以在进入低功耗模式(通过执行WFI/HALT指令)之前置位AL位,之后中断子程序返回之后就直接回到低功耗模式。由于STM8相关寄存器保存只是在第一次中断会进行所以减少了中断服务程序运行的时间。 在一些非常简单的应用中所有的操作都可以只在ISR中执行。对于一些更复杂的任务,中断子程序要判断是否要启动主程序,可以通过重设AL的简单方式来实现。 例如:一个应用需要通过自动唤醒功能来每隔50ms唤醒一次来检测一些引脚/传感器/按键的状态。如果这些引脚大部分时间是不工作的,那么MCU可以直接回到低功耗模式而不需要运行主程序的。如果其中之一的引脚处于工作状态,那么ISR将要进行相应判断,通过重设AL位来启动主程序。 (图18:优先级处理过程) |
|
|
|
只有小组成员才能发言,加入小组>>
800 浏览 0 评论
1156 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2714 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1092浏览 3评论
197浏览 2评论
463浏览 2评论
376浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
458浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 08:28 , Processed in 0.962472 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号