你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1861|回复: 15

[STM32F103] STM32 CubeMX生成点灯代码的问题

[复制链接]

1

主题

8

回帖

0

蝴蝶豆

初级会员

最后登录
2020-9-27
发表于 2019-3-2 13:41:30 | 显示全部楼层 |阅读模式
新手,刚刚入STM32坑,使用STM32 CubeMX生成点灯代码(HAL版本)。可是出现一个问题,百思不得姐,详细看了代码后才发现端倪,如下图:
error.png
导致我往某宝上买的十来块的小板子上烧代码运行时(板子是正常的),PC13一直是亮的,main函数里的HAL_GPIO_TogglePin压根就不生效。
就这个问题坑了我一夜,想不明白。我曾经怀疑板子有问题,可是直接用keil写的库函数版本点灯运行是正常的。

我的STM32 CubeMX版本截图如下:
gpio.png

后来将第一图中的红色框代码注释(或挪到GPIO配置初始代码)之后正常。

不知道大家有没有这个问题存在。STM32 CubeMX还有多少坑~
回复

使用道具 举报

48

主题

3559

回帖

429

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2019-3-2 15:42:52 | 显示全部楼层
跟这条函数半毛钱关系没有,刚给你测试过了。

TEST_F103C8T6.rar (3.18 MB, 下载次数: 15)
回复 支持 反对

使用道具 举报

68

主题

3266

回帖

82

蝴蝶豆

社区小助手

最后登录
2020-12-9
发表于 2019-3-2 16:23:13 | 显示全部楼层
CubeMX应该是针对下拉点亮LED的板子预先拉高GPIO口,这样初始化GPIO后LED是熄灭的。可能刚好楼主是高电平点亮LED的设置。把它改成:
HAL_GPIO_WritePin(LED0_GPIO_Port,LED0_Pin,GPIO_PIN RESET);即可
回复 支持 反对

使用道具 举报

1

主题

8

回帖

0

蝴蝶豆

初级会员

最后登录
2020-9-27
 楼主| 发表于 2019-3-2 18:18:51 | 显示全部楼层
wenyangzeng 发表于 2019-3-2 16:23
CubeMX应该是针对下拉点亮LED的板子预先拉高GPIO口,这样初始化GPIO后LED是熄灭的。可能刚好楼主是高电平点 ...

我最初也是以为这个问题后来改的GPIO_PIN_SET,默认配置里 GPIO output level 就是LOW,映射到代码就是那行参数为GPIO_PIN_RESET,也是不行。将那个writepin放到 init配置初始后 执行都没问题。
回复 支持 反对

使用道具 举报

1

主题

8

回帖

0

蝴蝶豆

初级会员

最后登录
2020-9-27
 楼主| 发表于 2019-3-2 18:21:46 | 显示全部楼层
impulsehu 发表于 2019-3-2 18:18
我最初也是以为这个问题后来改的GPIO_PIN_SET,默认配置里 GPIO output level 就是LOW,映射到代码就是那 ...

补充一下,开发板里PC13是低电平LED才亮。
回复 支持 反对

使用道具 举报

1

主题

8

回帖

0

蝴蝶豆

初级会员

最后登录
2020-9-27
 楼主| 发表于 2019-3-2 18:32:56 | 显示全部楼层
附一下我的代码 HAL.rar (410.71 KB, 下载次数: 3)
回复 支持 反对

使用道具 举报

1

主题

8

回帖

0

蝴蝶豆

初级会员

最后登录
2020-9-27
 楼主| 发表于 2019-3-2 18:35:18 | 显示全部楼层
toofree 发表于 2019-3-2 15:42
跟这条函数半毛钱关系没有,刚给你测试过了。

你的代码 我试了,确实没有问题,可以TOGGLE。你的GPIO是跟main合在一起的,我的代码是分开的,你可以看看我的代码可以运行吗,其它我没有细看。
回复 支持 反对

使用道具 举报

48

主题

3559

回帖

429

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2019-3-2 19:26:13 | 显示全部楼层
本帖最后由 toofree 于 2019-3-2 19:51 编辑
impulsehu 发表于 2019-3-2 18:35
你的代码 我试了,确实没有问题,可以TOGGLE。你的GPIO是跟main合在一起的,我的代码是分开的,你可以看 ...

工程其它文件没有问题,工程中没有加点灯代码。加上后,一切正常。
HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
HAL_Delay(500);

可以对比一下,我就加了这两条。
HAL(Modify).rar (3.03 MB, 下载次数: 7)
回复 支持 反对

使用道具 举报

68

主题

3266

回帖

82

蝴蝶豆

社区小助手

最后登录
2020-12-9
发表于 2019-3-2 20:47:40 | 显示全部楼层

楼主的压缩包有问题,解压缩不了。
看了一下1楼的图,楼主的LED0是在PC1,而楼主的LED0操作是在PC13当然不正常了。
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
2019-3-3
发表于 2019-3-3 15:57:07 | 显示全部楼层
STM32 CubeMX 软件好难下,楼主在哪个页面下的?
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版