微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 这段程序看了一下午没看懂,ST32库

这段程序看了一下午没看懂,ST32库

时间:10-02 整理:3721RD 点击:
typedef enum
{ GPIO_Mode_AIN = 0x0,
  GPIO_Mode_IN_FLOATING = 0x04,
  GPIO_Mode_IPD = 0x28,
  GPIO_Mode_IPU = 0x48,
  GPIO_Mode_Out_OD = 0x14,
  GPIO_Mode_Out_PP = 0x10,
  GPIO_Mode_AF_OD = 0x1C,  
  GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeDef;
赋的值是什么意思,没看懂啊

你得明白枚举的定义方式,如果不赋值,那么后面一个的值就是前面那个加1
赋值之后就是赋什么值就是是什么
至于值的意义如楼上所说
有人就会说,既然如此,不如直接宏定义
区别在于,这是一种类型,定义之后某些代码编辑工具带有代码补全功能,可以直接显示出来,不用记忆
还有在仿真的时候,宏定义不能显示出来,枚举却可以直接显示,显而易见的之后赋值的意义

这是GPIO的模式配置结构体。
GPIO配置
(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
后面的寄存器配置可以不管,直接用。
想要搞懂就去翻手册吧。
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出

已经知道了,后面的值和相应的寄存器没有对应上,是因为只是识别了其中的几位,相当于8位数,识别了其中的四位,作为GPIO-MODE的配置

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top