关于stm32f103 PA15,PA12,PB3 io配置过程中遇见的大坑

文章介绍了8种IO配置,包括浮空输入、模拟输入、上拉/下拉输入及4种输出模式。在使用外部中断时,PA15和PB3可能默认用于JTAG,需特定代码解除;PA12因连接USBD+端,配置为下拉输入时无效。建议在配置前查阅芯片手册,避免问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先来讲一下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口。防止掉坑。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值