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

为什么使用了串口初始化之后,TIM8的PWM就不能正常输出了?

[复制链接]
vention123456 提问时间:2016-12-12 08:36 /
阅读主题, 点击返回1楼
收藏 1 评论27 发布时间:2016-12-12 08:36
27个回答
回答时间:2016-12-12 11:21:41
你把HAL的工程传上来,你测试不影响的。
vention123456 回答时间:2016-12-12 11:46:46
安 发表于 2016-12-12 11:21
你把HAL的工程传上来,你测试不影响的。

已经附上HAL库工程。
调换
MX_USART1_UART_Init();
  MX_TIM8_Init();
两者前后顺序,可以正常输出PWM
xmshao 回答时间:2016-12-12 11:48:41
完整的型号是多少?

PWM是硬件输出。很怀疑你管脚配置是否有冲突。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

vention123456 回答时间:2016-12-12 11:59:02
xmshao 发表于 2016-12-12 11:48
完整的型号是多少?

PWM是硬件输出。很怀疑你管脚配置是否有冲突。

STM32F103RC

TIM8和Uart1 完全是不一样的引脚啊,一个是PC6,7,8,9     一个是PA9,10
xmshao 回答时间:2016-12-12 12:14:53
vention123456 发表于 2016-12-12 11:59
STM32F103RC

TIM8和Uart1 完全是不一样的引脚啊,一个是PC6,7,8,9     一个是PA9,10

oh,那再看看代码方面。
ts2000 回答时间:2016-12-12 13:40:22
帮楼主顶上去
五哥1 回答时间:2016-12-31 02:41:31
HAL库的和标准库的不一样
海迹天涯 回答时间:2016-12-31 11:11:23
给你顶起
dzzwoaizi 回答时间:2016-12-31 11:44:18
本帖最后由 dzzwoaizi 于 2016-12-31 11:50 编辑

先检查一下引脚有无冲突,串口中断入口函数是否正确,两者无错误的话再看下面。还有好像你的串口好像中断标志位呢,清除在哪里??

昨天刚给朋友看了一个代码,F0的,他是加上串口后TIM1的一个引脚PWM输出不了了,他的初始化顺序是先TIM1后USART ,后来我把USart放在TIM前面,然后加了点延时,输出就正常了。(你可以加点延时看看,实在不行看下面)。
还有建议在程序最开始将总中断关闭,初始化完成在讲总中断打开,否则会影响初始化的。例如:
51的程序:
void main(void)
{
EA=0;//关闭总中断
.....//外设初始化
EA=1;//开总中断
}

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

zbber 回答时间:2017-1-1 07:38:49
应该还是TIM的中断问题,楼主看一下HAL库里面的tim8的初始化代码

所属标签

相似问题

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