1代码正确,直接用b站江协提供的源代码也不亮
2,LED正负连接正确
3,LED在别的程序是亮的
4,是不是按键的问题啊







阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题分析
根据你的描述,LED灯在别的程序中是亮的,且代码正确,LED连接正确。因此,问题很可能出在按键的引脚上。
解决方案
核心代码
// 检查按键引脚的电压
if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == 0) {
// 按键按下
LED_ON;
} else {
// 按键未按下
LED_OFF;
}
// 检查按键引脚的引脚模式
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
注意
上述代码仅供参考,具体的代码可能需要根据你的项目和 STM32 的版本进行调整。