STM32F103的PB4上电默认高电平如何避坑
问题分析
硬件上PB4控制一路继电器输出,每次上电时继电器都会抖动一次,经过硬件调试跟踪,发现PB4正好和其它脚相反,上电初始时就置高了,这个PB4正好是单片机的jtag口,虽然刚上电已经置为普通口
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); /* 开复用时钟,才能把JTAG的IO口当作普通GPIO使用 /
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); / 禁用JTAG,保留SWD */
但是还是一直高,应该是一个小bug
3.问题解决方案
我们尽量把PB4的初始化函数LED_Init(); //LED端口初始化放到最前面
电路上在三极管的基极对地并电阻和电容,延时一下导通,电路更改如下
或者把这个打开外设的开关改为低电平打开
总结和建议
如果大家在设计电路时,碰到用这个PB4来高电平打开开关了,必须注意这个上电高电平的隐患,尽量避开这个引脚