直击翻车现场:STM32 GPIO 无法输出的问题 |
您所在的位置:网站首页 › ls1028can口不正常 › 直击翻车现场:STM32 GPIO 无法输出的问题 |
问题描述
平台:STM32F103RBT6,其中有GPIO 输入,也有GPIO输出,其中LED指示灯(GPIO 输出)。 发现,程序烧写后,代码正常跑,配置的GPIO 引脚,没有电平输出。 问题分析 开始以为代码有问题,所以,软件调试,发现可以正常的跑。串口打印,发现程序能正常的执行!!确认引脚配置正确后,开始认真的分析,发现,GPIO 的寄存器配置,感觉已经配置了推挽输出!!检查硬件,发现焊接良好。对比官方的GPIO配置,发现了一点问题。GPIO 的速率,没有配置!! 问题解决原来配置GPIO时,上面有GPIO 输入,没有配置SPEED,配置输出时,直接复制粘贴后,改为了PP推挽输出,没有配置SPEED。 /* LED_PIN_RUN2 */ HAL_GPIO_WritePin(PORT_LED_PIN_RUN2, LED_PIN_RUN2, GPIO_PIN_RESET); GPIO_InitStruct.Pin = LED_PIN_RUN2; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; /* 注意,需要配置!! */ HAL_GPIO_Init(PORT_LED_PIN_RUN2, &GPIO_InitStruct); 反思 其实都是懒引起的,代码,不能总是复制与粘贴。认真分析问题,认真总结。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |