stm32F051 GPIO 有 电源引脚(三根),复位引脚(两根boot0,boot1,配置选择三种不同的启动模式,从主闪存存储器,系统存储器或者内置SRAM启动,代码可以放到三个不同的地方),GPIOF0~1(两根,可用于外接晶振,本例中外接8MHz的HSE晶振),GPIOA0~15(16根),GPIOB1~7(8根)。
引脚顺序:在芯片上四个角的某一个角上会有标志,从标志位置开始逆时针旋转,就是引脚的标号顺序。
除复位引脚和启动引脚之外,其它的GPIOA,B,F都是通用引脚,用于与外界沟通。
STM32F051-GPIO常用寄存器
4个32位配置寄存器
GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR
2个32位数据寄存器
GPIOx_IDR 、GPIOx_ODR
1 个32 位置位 / 复位寄存器
GPIOx_BSRR
2 个 32 位复用功能配置寄存器
GPIOx_AFRH 、GPIOx_AFRL
注:每一组GPIO端口(GPIOA, GPIOB, GPIOF)都有一套上述的寄存器去配置它自己的功能
GPIOx_MODER模式寄存器, 每两位配置一个GPIO口 32位寄存器正好可以配置一组(16个GPIO)
00 01 :输入输出模式, 10,: 可以配置成复用功能,例如GPIOB6~7 可复用成I2C的时钟线或数据线,11:可以配置为ADC数模转换功能。
GPIOx_OTYPER类型寄存器,每1位配置一个GPIO口 32位寄存器只需要0~15位,其他的保留
配置引脚为推挽输出或开漏输出。
推挽:可以提供稳定的高低电平输出,低电平时接地,高电平时接高电平
开漏:就是不输出电压,低电平时接地,高电平时悬空,如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压。
GPIOx_OSPEEDR类型寄存器,用于控制GPIO口工作速速。
根据外接的芯片的需要频率配置。
GPIOx_PUPDR 类型寄存器, 为GPIO接上下拉电阻。
在51单片机使用时,通常会看到有排阻存在, 这就是上下拉电阻。对于开漏输出需要外接上下拉电阻,STM32芯片已经把上下拉电阻集成到了芯片内部,只需要配置相应引脚的寄存机就可以了。
GPIOx_IDR 、GPIOx_ODR 、GPIOx_BSRR 用于读写GPIO的高低电平状态。
GPIOx_AFRH 、GPIOx_AFRL 复用功能寄存器,用于配置GPIO口复用为I2C 、中断、SPI、uart、i2S等的哪一种。
上一篇:Ubuntu环境下使用stlink调试和下载stm32f4-discovery程序
下一篇:STM32F412应用开发笔记之一:初识NUCLEO-F412ZG
设计资源 培训 开发板 精华推荐
- LTC3642-5,采用 3mm-3mm DFN 封装的稳健型 DC/DC 降压转换器可抵抗 60V 输入浪涌
- 太阳能MPPT LT8705 DC-DC电路模块
- LT8606EMSE 1.8V、2MHz 降压型稳压器的典型应用电路
- 【中国计量大学】差分放大电路测量仪 小蜜蜂(杨智韬 苏万里 史永琳)
- LTC4414 的典型应用 - 用于大型 PFET 的 36V、低损耗 PowerPath 控制器
- IP5306升压电源模块
- ADR3530 微功耗、高精度电压基准的典型应用
- LT6656AIDC-4.096、4.096V 微控制器电压基准和稳压器的典型应用
- 超小体积 12V PD QC诱骗器
- 第三代双、反相开关稳压控制器