匿名
未登录
登录
丢石头百科
搜索
查看“STM8 中断和低功耗模式”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
STM8 中断和低功耗模式
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<table border="0" cellpadding="0" cellspacing="0" style="color: rgb(72, 61, 139); font-family: Arial, 新宋体, 微软雅黑; font-size: 12px;" width="780"><tbody><tr><th class="type_483D8B" scope="col" style="line-height: 20px; font-weight: normal; border-top-style: none;" valign="top"> 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位来启动主程序。 [[File:STM8_P71_1.jpg]] (图18:优先级处理过程)</th></tr></tbody></table>
返回至
STM8 中断和低功耗模式
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志