关于声明指向非易失性数据的volatile二级指针及硬件寄存器指针场景的技术问询
关于声明指向非易失性数据的volatile二级指针及硬件寄存器指针场景的技术问询
各位好,想跟大家请教一个C/C++里操作硬件寄存器时遇到的问题:
平时我访问硬件寄存器,一般都会这么定义宏:
#define HW_REGISTER ((volatile uint16_t *)0xFFFF8A00)
简单来说,0xFFFF8A00这个地址是一个指向volatile uint16_t类型的指针——因为这个地址对应的值可能会被外部硬件修改,所以编译器绝对不能对*HW_REGISTER的访问做缓存优化,每次都得直接读写这个硬件地址。
不过现在我遇到个困惑:如果要写入这个硬件寄存器的值本身就是一个指针,那该怎么正确声明对应的指针类型呢?我一开始下意识的想法是...(原问题此处表述未完成)
内容来源于stack exchange
相关产品推荐
相关产品推荐

