STM32汇编指令(一)WFI 和 WFE
来源:互联网 发布:淘宝精仿鞋店推荐 编辑:程序博客网 时间:2024/05/21 14:54
ARM汇编的调用
嵌入式开发,尤其是编写BSP的时候,非常接近底层,这个时候有可能用一些汇编指令来保证程序的简洁和高效,但是平常编写代码用到的都是C/C++,那么如何使用汇编指令呢?
其实这个问题也很简单,在C/C++中提供了关键字asm
或者ASM
来内嵌汇编,使用如下:
asm("WFI");
但是这种方法问题比较大,在Cortex-M平台上,这个语句有很大几率编译不通过,因为各家编译器又实现了自己的宏,具体可以在core_cmx.h中看到,如果我们的项目要在不同的编译器上通过,可以考虑使用条件编译来达标,不过这样付出的成本就很大。
另外一种简单的方法是使用intrinsic.h这个头文件,这个头文件把所有的汇编指令都封装成了诸如__Commnad()
的函数形式,并且预编译为二进制包,故不必使用条件编译也能达到相同效果
WFI和WFE
这两条指令的作用都是令MCU进入休眠/待机状态以便降低功耗,但是略有区别:
WFI: wait for Interrupt 等待中断,即下一次中断发生前都在此hold住不干活
WFE: wait for Events 等待事件,即下一次事件发生前都在此hold住不干活
所以使用前要掂量好到底是什么会触发MCU唤醒事件
阅读全文
0 0
- STM32汇编指令(一)WFI 和 WFE
- arm汇编指令WFI和WFE
- ARM WFI和WFE指令
- ARM WFI和WFE指令
- ARM WFI和WFE指令
- ARM WFI和WFE指令
- ARM WFI和WFE指令
- ARM WFI和WFE指令
- ARM WFI和WFE指令
- arm 待机指令 WFI和WFE
- wfi和wfe
- 单片机中的WFI/WFE指令
- WFI and WFE
- ARM Core WFI/WFE
- [汇编]伪指令(一)
- 汇编实验一 查看CPU和内存,用机器指令和汇编指令编程
- WFE
- WFI
- react-thunk迁到redux-saga,他们的对比
- redis的安装与使用
- Windows+Linux+Mac操作系统常用操作记录
- 24-多线程(线程间通信-等待唤醒机制)1 2图解 3 25-多线程(线程间通信-等待唤醒机制-代码优化)
- jquery 点击除本身外其他地方隐藏
- STM32汇编指令(一)WFI 和 WFE
- Lua: 在C++中将table如何传入到lua中
- 什么是事务,事务的ACID特性
- c++模板队列类
- SpringMvc踩过的坑
- cximage缩略图
- Contest5.StringReverse
- 20171113 自省
- 阿里云ECS CentOS7.2 搭建Shadowscoks