
1. 问题描述 今天调试STM32软件I2C的过程中遇到了一个问题:在采用 STM32 的 PB3 和 PB4 引脚做软件I2C通信时,发现 PB3 和 PB4 引脚的电平一直拉不低。反复检测了硬件连接是否短路,发现并没有硬件问题。后来查看了 STM32 芯片的原理图,发现PB3 和 PB4 引脚对应于JTAG调试接口,芯片默认开启JTAG调试功能。因此,程序中如果不禁用 JTAG 调试方法,那么这两个引脚将无法作为正常引脚来使用。STM32芯片原理图如下: ![]() 2. 解决方法 在 stm32f10x_gpio.h 中我们可以看到 STM32 的 JTAG 和 SWD 使能地址:
根据参考文献中提到的方法,为了使 PB3 和 PB4 能够作为正常引脚使用,用于软件 I2C 通信,我们需要禁用 JTAG调试方法。在整个程序的初始化函数中加上如下代码:
这样一来,PB3 和 PB4 即可作为正常引脚使用。 ———————————————— 版权声明:警升 如有侵权请联系删除 |
【STM32C0测评】Nucleo-C092开发板驱动DS1302实验
Keil下的STM32N6之RAM运行工程配置说明
【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新
兔哥的初代M33【002】-H503Nucleo 内部flash操作
兔哥的杂谈【002】——如何性价比更高地去编译STM32
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
FreeRTOS学习笔记2
【NUCLEO-H533RE评测】+05 调试PWM
基于STM32在线升级OTA经验分享
基于STM32 hardfault问题分析经验分享