打印

如何使用指针读取寄存器的值?

[复制链接]
1258|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spark周|  楼主 | 2016-3-28 19:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
liliang9554| | 2016-3-28 19:55 | 只看该作者
详细说说啊

使用特权

评论回复
板凳
spark周|  楼主 | 2016-3-28 19:55 | 只看该作者
TMS320LF2407A。
ADC采样结果寄存器RESULT0的地址是0x7408。
unsigned int *p = (unsigned int*)0x7408;
x = *p;
y = *(p + 1);
能否这样访问RESULT0和RESULT1。

使用特权

评论回复
地板
zhaoxqi| | 2016-3-28 19:56 | 只看该作者
可以的

使用特权

评论回复
5
huangchui| | 2016-3-28 19:56 | 只看该作者
对,只要寄存器的地址对就可以啦

使用特权

评论回复
6
spark周|  楼主 | 2016-3-28 19:58 | 只看该作者
能举个例子吗

使用特权

评论回复
7
yszong| | 2016-3-28 19:59 | 只看该作者

int q,*p=NULL;  
p = (volatile int *)0xa00;  
q = *p; /*把这个地址存储的值赋值给q*/  
//我们就此可以直接对q赋值相当于对0xa00这个地址赋值   

使用特权

评论回复
8
yszong| | 2016-3-28 19:59 | 只看该作者

*(unsigned int *) 0x8001表示取这个指针的内容,cnt = *(unsigned int *) 0x8001把这个内容赋值给cnt,以后就可以直接对cnt进行操作了,也就相当于对地址0x8001进行操作。

使用特权

评论回复
9
spark周|  楼主 | 2016-3-28 20:01 | 只看该作者
嗯,我知道了,多谢大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

821

主题

10121

帖子

4

粉丝