解决STM32F103 PA15、PA12、PB3 IO配置中的常见问题

首先来讲一下8种IO配置

1.四种输入

  1. 浮空输入 GPIO_Mode_IN_FLOATING
    浮空输入使用过程中,io口的电平由输入端决定
  2. 模拟输入 GPIO_Mode_AIN
  3. 上拉输入 GPIO_Mode_IPU
    上拉输入过程中,io口会接一个上拉电阻,默认电平为高电平。
  4. 下拉输入 GPIO_Mode_IPD
    下拉输入过程中,io口会接一个下拉电阻,默认电平为低电平

2.四种输出

  1. 推挽输出 GPIO_Mode_Out_PP
  2. 开漏输出 GPIO_Mode_Out_OD
  3. 复用开漏 GPIO_Mode_AF_OD
  4. 复用推挽 GPIO_Mode_AF_PP

接下来讲一下我在使用外部中断过程中遇到的问题。(PA12 PA15 PB3)作为输入引脚,会出现哪些问题,以及如何解决

1.PA15 ,PB3   这两个io口默认被设置为JTAG的调试接口。如果需要使用则需要加上以下代码
在io口配置的前面,否则无法控制该引脚。
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
2.PA12 这个io口连接的是USB的D+端,默认为上拉,即该io口不管如何配置默认都为高电平。
基于该特性,该io口在被设置为下拉输入时会无法使用。

最后,建议大家在配置io口之前千万千万看看芯片手册,看哪些io口是特殊io口。防止掉坑。

物联沃分享整理
物联沃-IOTWORD物联网 » 解决STM32F103 PA15、PA12、PB3 IO配置中的常见问题

发表评论