发 帖  
原厂入驻New
[问答] 关于C51和ARM读写寄存器方式区别?
1261 C51 ARM 寄存器
分享
请教各位关于C51和ARM读写寄存器方式区别的疑惑
C51里访问寄存器的方式是:例如sfr P0 = 0x80;  然后对P0的赋值就可以读写这个寄存器了, C语言和汇编语言的接口就是这个sfr指令

arm架构里,在C程序中翻到最后就只能看到define定义了一个地址,例如 #define UART1_BASE   (APB2PERIPH_BASE+0x3800),然后对UART_BASE赋值就可以读写这个相关寄存器,难道在Arm架构里,C语言和汇编的接口就是#define指令?
0
2019-7-15 10:14:09   评论 分享淘帖 邀请回答

相关问题

3个回答
这个就是寄存器地址转换吧 #define UART1_BASE   (APB2PERIPH_BASE+0x3800)
2019-7-15 10:44:27 评论

举报

ARM里面是对地址直接操作,arm里面都是这样。主要是指针和结构体。
2019-7-22 18:49:02 评论

举报

不要被 SFR define 这些字眼迷惑了。这些都是给编译器看的。看起来形式 不一样,但是最终执行起来都是 给某个地址赋值。比如
*(uv32 *)0x20002000 = 0x0A;
2019-11-11 11:36:12 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表