新手,刚刚入STM32坑,使用STM32 CubeMX生成点灯代码(HAL版本)。可是出现一个问题,百思不得姐,详细看了代码后才发现端倪,如下图: 导致我往某宝上买的十来块的小板子上烧代码运行时(板子是正常的),PC13一直是亮的,main函数里的HAL_GPIO_TogglePin压根就不生效。 就这个问题坑了我一夜,想不明白。我曾经怀疑板子有问题,可是直接用keil写的库函数版本点灯运行是正常的。 我的STM32 CubeMX版本截图如下: 后来将第一图中的红色框代码注释(或挪到GPIO配置初始代码)之后正常。 不知道大家有没有这个问题存在。STM32 CubeMX还有多少坑~ |
HAL_GPIO_WritePin(LED0_GPIO_Port,LED0_Pin,GPIO_PIN RESET);即可
我最初也是以为这个问题后来改的GPIO_PIN_SET,默认配置里 GPIO output level 就是LOW,映射到代码就是那行参数为GPIO_PIN_RESET,也是不行。将那个writepin放到 init配置初始后 执行都没问题。
补充一下,开发板里PC13是低电平LED才亮。
PC13-HAL
你的代码 我试了,确实没有问题,可以TOGGLE。你的GPIO是跟main合在一起的,我的代码是分开的,你可以看看我的代码可以运行吗,其它我没有细看。
工程其它文件没有问题,工程中没有加点灯代码。加上后,一切正常。
HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
HAL_Delay(500);
可以对比一下,我就加了这两条。
楼主的压缩包有问题,解压缩不了。
看了一下1楼的图,楼主的LED0是在PC1,而楼主的LED0操作是在PC13当然不正常了。
不难下载啊,也许您正好遇上忙碌的时段了。
是的,上回复你的帖子时我临时新建的工程(旧工程怒删了),估计忘了添加toggle。可是我的开发板上就是一直不起作用。。。也是无发可说~~
回家我再重新把完整的工程发一个附件出来,免得误导大家。
我用的VPN,直接官网下载的。
F103C8T6的2号脚是PC13,MX的界面有点挤,显示不全。
试试看:
360云盘下载地址:
http://yunpan.cn/cMgjuHDLgjcAx 访问密码 79f6
STM32CubeMX资料:
http://yunpan.cn/cMgjSQqHDaZv4 访问密码 f7d4