打印

再问香主,stm32定时器TIMER1,TIMER3,TIMER4的奇怪现象?

[复制链接]
3614|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
victoryang|  楼主 | 2009-9-19 11:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 victoryang 于 2009-9-19 11:13 编辑

香主:
设计要求是由定时器1匹配输出1MHz方波,暂称波形1,定时器4匹配输出自定义时序,大约3KHz,暂称波形2,并要求波形1与波形2的相位关系确定。

过程: 波形1和波形2都已经输出,而且各种频率都满足要求。但就是波形1与波形2的相位不是始终恒定,表现在用示波器测量,捕捉波形2的某个沿(波形2频率低),波形1并不能始终和波形2的这个沿有确定的相位关系,而是快速变化。

分析:由于定时器1来自APB2总线和定时器4来自APB1总线,时钟可能不同步造成,故将换定时器3(也来自APB1总线)匹配输出1MHz方波,但最后还是不能得到两个波形确定的相位关系.

请教这是什么原因造成的呢?定时器间匹配输出如何同步呢?

谢谢
沙发
victoryang|  楼主 | 2009-9-19 17:46 | 只看该作者
本帖最后由 victoryang 于 2009-9-19 17:50 编辑

已解决。
结论: 现在可以实现确定的相位关系,不是APB1与apb2总线时钟的问题。具体修改方法是,之前我用的定时器4没有预分频,而是直接给重载寄存器赋值我的时序,结果就出现了上午的结果。现在我先用预分频将定时器计数时钟定时到1us,再实现就可以了。

疑问:问题解决了,但不知道为什么会这样。难道APB1总线时钟不准吗,还是定时器4不准?还是stm32的定时器使用有什么讲究吗?
      还有个怪现象是我用定时器4产生1MHz定时时钟(预分频之后)时,预分频值要设为36000000/500000-1, 而不是36000000/1000000-1,这是为什么?
希望大家继续讨论。

使用特权

评论回复
板凳
zngdiy| | 2009-12-10 16:38 | 只看该作者
想问下,楼主,你那1M方波是怎么产生的?急需知道!

使用特权

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

本版积分规则

16

主题

48

帖子

0

粉丝