2683| 2
|
请教一下,(*(volatile uint8_t *)(uint32_t)(addr))和(*(volatile uint32_t *)(uint32_t)(addr))分别代表什么意思啊? |
3金钱
最佳答案0x04195709只是一个数字,本身貌似没有什么用处,但是经过你处理一下,就是变成指针了,也叫内存地址了。首先(volatile uint8_t *)addr,这里(uint32_t)没必须要写了,把这个数字强制转换成地址,内存地址,这个数字必须在内存地址范围内,经过转换,它就是指针了,然后,*((volatile uint8_t *)addr),就是一个变量或者寄存器了,就可以对它运算赋值了,寄存器常用这种方法来定义。这里和volatile uint8_t x定义变量x是一样的, ...
| ||
| ||
| ||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-6-16 08:52
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网