你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
GPIOx_IDR
举报
toofree 发表于 2018-10-12 11:52 STM32的寄存器都是32位的,不是半字,也是不字,而是双字。 GPIOx_IDR同样是双字,只不过高16位是保留位。 ...
查看全部评分
stm1024 发表于 2018-10-12 14:38 讨论一下。关于字和双字的定义问题。 以前我总觉得1字节8位,1字=2字节 双字=2个字。
宏雁张 发表于 2019-1-10 09:52 你好 方便贴一下您看的那篇文章的地址吗?
讨论一下。关于字和双字的定义问题。
以前我总觉得1字节8位,1字=2字节 双字=2个字。
后来看一个文章,说字和双字是相对于平台的,1个字就是平台通用寄存器的数据宽度,所以对stm32是32bit处理器,它的字是32bit的(一次处理4字节长度的数据)。半字自然就是16bit(2字节)
我现在都有点懵逼了。
评分
查看全部评分
这个……打开看一下标准库的编写方式:
这么看, 读取的时候应该是32位的,字方式。
typedef struct
{
__IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */
__IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */
__IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */
__IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */
__IO uint32_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */
__IO uint32_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */
__IO uint32_t BSRR; /*!< GPIO port bit set/reset register, Address offset: 0x18 */
__IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */
__IO uint32_t AFR[2]; /*!< GPIO alternate function registers, Address offset: 0x20-0x24 */
} GPIO_TypeDef;
评分
查看全部评分
GPIOx_IDR同样是双字,只不过高16位是保留位。
评分
查看全部评分
评分
查看全部评分
我也是不懂球的了,懵逼了。
反正我就认为BYTE、WORD、DWORD、QWORD,就是1、2、4、8的关系了。
英文一般不胡来,按字面理解就行了。
处理器位宽不同,是为了区分int型的,除8位机int是16位外,其它的16、32、64机的int型就分别对应各自的位宽度,表示最有效率的处理数据宽度。
评分
查看全部评分
你好
方便贴一下您看的那篇文章的地址吗?
谢谢
图书馆看的,一下记不起来了