打印
[STM32F1]

stm32高级定时器的一些奇怪的现象,无法解释,欢迎讨论

[复制链接]
1248|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
如标题所示,我最近在用tim8定时器的时候出现了很怪异的事情,查了整整一天才发现就只是顺序的问题,但是实在费解,感觉不该出现这样的事情,
情况我描述一下,用的tim8输出pwm,tim8配置的时候通道用的是ch1,ch2,ch3,pc6.7.8,不存在和spi1重合的情况,然后函数写法如下图


将tim8的配置函数TIM8_Configuration(1, 1800, 0); 放在第1幅图所示位置,延时函数delay_us(500)必须放在TLE5012B_Init()里面最后,tim8才有pwm输出,否则,如图示放置延时函数,或者把printf前面注释去掉,都会导致不能输出pwm。但是如果改成第二幅图上这样的配置顺序,输出pwm就很正常了,这个是为什么,有什么能解释一下吗?好诡异
沙发
2012dove| | 2016-2-12 00:00 | 只看该作者
最好把声明,定义这一类的东西放在开头,否则编译器容易出错

使用特权

评论回复
板凳
airwill| | 2016-2-14 13:37 | 只看该作者
这可能是初始化代码中部分函数配置寄存器时出现冲突引起的. 每一个功能都会设置一系列的寄存器, 面对复杂的设置, 难免出现相互的冲突, 可以详细看一下函数的实现过程.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

224

帖子

15

粉丝