硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2455|回复: 6
收起左侧

[GPIO] 关于GPIO初始化函数和PWM初始化函数冲突的奇怪问题。

[复制链接]

31

主题

53

回帖

146

积分

初级会员

积分
146
发表于 2018-11-29 08:29:57 | 显示全部楼层 |阅读模式
本帖最后由 ggafish 于 2018-11-29 08:40 编辑

在调试PB5输出PWM信号的时候,始终无法正常输出PWM,经过反复调试,终于找到原因,但是无法理解为什么。

PWM初始化代码如下:PB5  TIM3_CH2

444.png

666.png

bsp_LEDInit();     bsp_TapperInit();  分别配置了GPIOB 的 PB0 PB1 代码如下:
777.png

999.png

只要bsp_LEDInit();或者 bsp_TapperInit();  初始化代码在    bsp_Pwm1Init(1000,108);之前执行,PWM就没有输出,如下所示:
333.png

反之,先执行bsp_Pwm1Init(1000,108);在执行GPIO的初始化函数,PWM就正常输出。这是什么情况?
经过进一步测试,只要bsp_Pwm1Init之前执行了HAL_GPIO_Init,不管是GPIOA 还是GPIOB,PWM就不正常了。
这个问题应该从哪里着手调试解决?
现在造成的后果就是:bsp_Pwm1Init bsp_Pwm2Init 分别初始化PB5 PB6 我现在只能用一个,谁在前谁就有效,另外一个就配置不成功。


111.png
222.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2018-11-29 11:14:09 | 显示全部楼层
QQ截图20181129111333.jpg
回复

使用道具 举报

31

主题

53

回帖

146

积分

初级会员

积分
146
 楼主| 发表于 2018-11-29 11:27:46 | 显示全部楼层

兄dei,真的管用!
或者把htim3ch2声明为全局变量,初始值默认0,也会正常工作。

可是教程中并不会这样,给的例程下载到我这个板子也没有这个问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2018-11-29 11:34:07 | 显示全部楼层
ggafish 发表于 2018-11-29 11:27
兄dei,真的管用!
或者把htim3ch2声明为全局变量,初始值默认0,也会正常工作。

你跟踪你自己的程序源码即可锁定问题。

看此贴;
http://www.armbbs.cn/forum.php?mod=viewthread&tid=90443
回复

使用道具 举报

31

主题

53

回帖

146

积分

初级会员

积分
146
 楼主| 发表于 2018-11-29 13:53:23 | 显示全部楼层
eric2013 发表于 2018-11-29 11:34
你跟踪你自己的程序源码即可锁定问题。

看此贴;

怎么跟踪?将局部结构体变量在初始化之前和之后,
打印出来,然后看看那些寄存器有问题吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2018-11-30 01:54:57 | 显示全部楼层
ggafish 发表于 2018-11-29 13:53
怎么跟踪?将局部结构体变量在初始化之前和之后,
打印出来,然后看看那些寄存器有问题吗

重点是看HAL源码中是不是部分操作被跨过去了,然后看寄存器。
回复

使用道具 举报

14

主题

109

回帖

151

积分

初级会员

积分
151
发表于 2018-11-30 08:35:43 | 显示全部楼层
http://www.armbbs.cn/forum.php?mod=viewthread&tid=82411&extra=这个应该和硬汉给的解决方法差不多
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-14 08:38 , Processed in 0.357487 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表