为什么就你的灯不亮???(stm32)

跳冒1 0状态,烧入程序,复位后,则程序停止。

跳冒0 0状态,复位后,运行烧入的程序。

所以,烧入程序后按下复位键,程序停止运行,此时需要将BOOT0移到0状态,再按下复位键即可。

以上是硬件问题,还有软件问题。

LED1.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
LED1.GPIO_Pin = GPIO_Pin_14||GPIO_Pin_13;
LED1.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
GPIO_Init(GPIOC,&LED1);

如果你的引脚是这样定义的:

恭喜你,踩坑了。这样虽然没有报错,但灯不亮。

你需要这样:

    LED1.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
	LED1.GPIO_Pin = GPIO_Pin_14;//引脚12
	LED1.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
	GPIO_Init(GPIOC,&LED1);
	
	LED1.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
	LED1.GPIO_Pin = GPIO_Pin_13;//引脚12
	LED1.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
	GPIO_Init(GPIOC,&LED1);

总结:STM32f103c8t6烧入程序后灯点亮,按下复位键灯灭,移植BOOT0,再按下复位键即可。或者软件引脚分开定义。

作者:新海诚学QT

物联沃分享整理
物联沃-IOTWORD物联网 » 为什么就你的灯不亮???(stm32)

发表回复