野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9445|回复: 4

关于GPIO结构体定义的问题

[复制链接]
发表于 2017-8-28 19:32:52 | 显示全部楼层 |阅读模式
为什么结构体定义中前面的成员都是uint32_t,而最后一个LCKR是uint16_t类型的

为什么结构体定义中前面的成员都是uint32_t,而最后一个LCKR是uint16_t类型的

 为什么结构体定义中前面的成员都是uint32_t,而最后一个LCKR是uint16_t类型的
回复

使用道具 举报

发表于 2017-8-29 09:35:05 | 显示全部楼层
这些结构体成员类型是跟它在stm32芯片定义的一样的,LCKR寄存器只有16位,其地址也只有两个字节
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-29 10:27:29 | 显示全部楼层
flyleaf 发表于 2017-8-29 09:35
这些结构体成员类型是跟它在stm32芯片定义的一样的,LCKR寄存器只有16位,其地址也只有两个字节

D:\可是这个寄存器不是16位的,是17为有效的啊!
1.png
回复 支持 反对

使用道具 举报

发表于 2017-8-29 11:00:31 | 显示全部楼层
jiemorang 发表于 2017-8-29 10:27
可是这个寄存器不是16位的,是17为有效的啊!

以固件库的为准,固件库是定义成32位的
typedef struct
{
  __IO uint32_t CRL;
  __IO uint32_t CRH;
  __IO uint32_t IDR;
  __IO uint32_t ODR;
  __IO uint32_t BSRR;
  __IO uint32_t BRR;
  __IO uint32_t LCKR;
} GPIO_TypeDef;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-29 15:25:42 | 显示全部楼层
flyleaf 发表于 2017-8-29 11:00
以固件库的为准,固件库是定义成32位的
typedef struct
{

奥奥,好的,谢谢!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 22:58 , Processed in 0.033532 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表