论坛的网站制作,新手做外贸怎么入门,wordpress开发人员,西安专业网站建设报价GPIO(General Purpose Input Output)通用输入输出口
1.可配置为8种输入输出模式#xff0c;引脚电平:0V~3.3V#xff0c;部分引脚可容忍5V#xff0c;输出模式下可控制端口输出高低电平#xff0c;用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等#xff0c;输入模式下…GPIO(General Purpose Input Output)通用输入输出口
1.可配置为8种输入输出模式引脚电平:0V~3.3V部分引脚可容忍5V输出模式下可控制端口输出高低电平用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。
2.STM引脚定义带FT 就是可以容纳5V电压的引脚
3.APB2外设总线STM32中所有GPIO都是挂载在APB2总线上每个GPIO外设有16个引脚寄存器为32位高16位未使用驱动器负责增大驱动能力点灯 施密特触发器。 IO引脚接两个保护二极管这是对输入电压进行限幅。VDD3.3V VSS0V输入电压3.3V 上方二极管导通输入电压0V 下方二极管导通。不会从内部电路吸取电流。 上拉电阻下拉电阻给输入提供一个默认的输入电平上闭下开上拉输入模式下闭上开下拉输入模式都闭合浮空输入模式。 施密特触发器整形电压大于上限输出高电平电压小于下限输出低电平然后输入寄存器可以读取某一位的数据。 模拟输入接ADC复用功能输入连接到其他外设输入端口的引脚上 输出寄存器控制16个端口只能整体读写。 推挽输出模式PN-MOS都有效下高低电平都有驱动能力STM32对IO口具有绝对的控制权高低电平都由STM32说了算。数据寄存器为1上管导通下官断开输出直接街道VDD输出高电平。 开漏输出模式下P-MOS无效只有N-MOS工作只有低电平有驱动能力。作用输出5V电平信号输出端口加一个5v的上拉电阻、I2C通讯 默认低电平输出 模拟输入ADC模数转换器专属配置。开漏、推挽输出时输入也是有效的。
使用GPIO的三个步骤 1. 使用RCC开启GPIO时钟 RCC外设常用的三个函数AHB、APB2、APB1 2. 使用GPIO_Init函数初始化GPIO 3. 使用输出或者输入的函数控制GPIO口 四个常用GPIO输出函数 void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 指定端口设置为高电平 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);指定端口设置为低电平 void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);根据第三个参数的值设置指定的端口。 void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);第一个参数选择外设第二个参数__这个函数可以停驶对16个端口进行写入操作。 GPIO的输出模式 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复用推免
A15B3B4 端口不能直接使用这几个端口默认是JTAG调试端口需要特殊配置。
按键输入设备 电路中电容一边接地一边接入电路考虑是否是滤波电容作用。 51单片机中int是16位STM32中int占32位long占32位
typedef只能对变量的名字进行重命名define宏定义任何都可以
GPIO读取函数 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);返回值代表这个端口的高低电平。 uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);返回值16位数据每一位代表一个端口值 uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);读取输出寄存器 uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);