2、STM32F103xCDE_数据手册
1>STM32F103VET6
指南者所用的单片机是STM32F103VET6,一大串符号,有点迷,那么请看上面的两张图:
每个GPIO是由寄存器和相关的控制电路构成。
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
这是C语言中typedef(重定义)的enum(枚举类型),枚举类似于批量的define宏定义,我们还可以看到有两种输入和输出两种工作模式,因为STM32的GPIO是复用的,也就是每一个IO口都有第二功能可以使用。
1-输入模式(模拟/浮空/上拉/下拉)
模拟输入:常用于电压采集。
浮空输入:输入的电平不是固定的,由外部器件的输入决定。
上拉/下拉输入:默认为低电平/高电平,例如获取按键的状态如果设置浮空输入,就不清楚是高电平还是低电平,必须加个上拉或者下拉电阻来保持稳定的电平状态,如果是下拉输入的话,就会方便很多。
2-输出模式(推挽/开漏)
推挽输出:可以通过单片机编程来控制IO的高低电平状态,底层是FET电路实现的。
开漏输出:可以通过单片机编程来控制IO的低电平状态和高阻态,底层是FET电路实现的。 3-复用功能(推挽/开漏)
typedef enum { GPIO_Speed_10MHz = 1, GPIO_Speed_2MHz, GPIO_Speed_50MHz }GPIOSpeed_TypeDef;时钟速率设置的越快,响应的速度就越快,如果对于功耗有要求的话,需要关注下配置的时钟速率。


块
导
航
举报
请选择举报类别
- 广告垃圾
- 违规内容
- 恶意灌水
- 重复发帖