例如:GPIOB的端口输出数据寄存器ODR的地址是0x4001 0C0C,并且ODR寄存器是32位的。那么我们可以用如下代码对寄存器进行操作:
*(unsigned int*)(0x4001 0C0C)=0xFFFFFFFF;
在计算机中,一个字节(Byte)就有一个地址,一个字节有八个位(bit)。
也就是说0x4001 0C0C这个地址在存储器中,其实只是一个字节的地址。计算机能向四个字节写数据,是因为强制类型转换成了 unsigned int ,而 unsigned int 就是四个字节,0x4001 0C0C是只是这四个字节的首地址。
计算机知道首地址,然后知道要写几个字节,就能向4个字节里面写数据了,也就是写32位的数据。这其实就是数据类型的含义,即这种数据类型占用几个字节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)