首页 > 编程知识 正文

stm32汇编和寄存器,stm32汇编语言

时间:2023-05-04 21:00:07 阅读:153677 作者:2480

ARM程序集的调用嵌入式开发非常接近基础,特别是在创建BSP时。 此时,可以使用一些汇编指令来保证程序的简洁和高效。 但是,因为平时使用C/C编写代码,所以如何使用汇编指令呢?

其实这个问题也很简单,C/C提供关键字asm或asm来嵌入程序集,使用如下:

ASM(wfi ); 但这种方法的问题比较大,在Cortex-M平台上,该语句很可能无法编译。 因为各编译器安装了自己的宏。 具体而言,可以通过core_cmx.h来查看。 如果我们的项目通过不同的编译器,可以考虑使用条件编译来完成,但这需要很大的成本。

另一个简单的方法是使用名为intrinsic.h的头文件。 此头文件将所有汇编指令封装为函数格式(如__Commnad ) ),并预编译为二进制软件包,从而无需条件编译即可获得相同的效果

WFI和WFE命令都旨在使MCU进入休眠/待机状态以降低功耗,但略有不同。

WFI :等待中断。 也就是说,在发生下一个中断之前,我不会在这个岗位上工作。

WFE: wait for Events等待在下一个事件发生之前不在这个hold上工作的事件

所以,在使用前请称量一下是什么引起MCU的清醒事件

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。