你也说是“多数”了,不能百分百保证。
c直接操纵寄存器,编译成裸机程序也不能百分百确定指针所指向的地址不被改变,要是在有操作系统在底层跑的情况下编译出来的程序就更加没底了,除非能搞清楚所用编译器编译出来的汇编指令真的就是你需要的并且操作系统允许这样的访问。
当然,你可以通过试,试过行就行了,可能在你试过的程序和芯片中都行,所以就认为都没问题都行。
反正,个人认为这样做会带来稳定性、安全性和可维护性问题。
另外,用c指针直接操纵寄存器本质上也没有什么错,只要结果对了可能很多人也不会去追究其他了,各位爱用啥用啥。
【 在 dormouseBHU 的大作中提到: 】
: 感觉你没搞过嵌入式。读写几个寄存器的值哪用的到汇编。
: 嵌入式系统里的外设寄存器多数都是映射到内存地址空间的,能读内存就能读寄存器
: :
--
修改:heyuanlie FROM 120.235.189.*
FROM 120.235.189.*