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

查看: 1878|回复: 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管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版