本人用STM32L073的Nucleo板子,现在用GPIOC的0~7的管脚输出,控制MOS管。
管脚模式设置为OD,内部上下拉关闭,每个管脚都外部接4.2V上拉的1K电阻,结果发现其他管脚都输出正常有4.2V左右,而GPIO0这个管脚输出只有2.3V左右,我把其他外部接线跟GPIO0的接线互换,GPIO0管脚上的接线还是会同样的出现电压只有2V多的问题,因而排除了外部接线的问题,我怀疑问题可能出在代码或者板子内部,但0~7的管脚输出代码设置是统一设置的,而我搜索了一下整个工程代码,其他地方也没有用到GPIO0这个管脚的,我就奇怪了,到底是咋回事呢?哪位大神知道,请赐教!
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
此帖出自
小平头技术问答
我在外接上拉电压时,已经查过手册了,管脚是FT的,也就是可以容忍5V输入的。
关键让我费解的事,其他管脚都没问题,为啥偏偏这一个GPIO0的管脚拉不起来电压。
这样的话,我建议你用stm32CubeMX单独拉出来,然后单独配置,看看IO的电平是否正常。
是否有这样的可能,这个IO的复用功能默认是打开的
一周热门 更多>