打印
[STM8]

关于STM8S的TIM输出PWM的疑问!

[复制链接]
1177|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
insect2006|  楼主 | 2016-2-25 11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM8S使用内部16MHZ时钟,不分频,
设置TIM1输出PWM波形,初始化代码如下:

TIM1_TimeBaseInit(1, TIM1_COUNTERMODE_UP, 100-1, 0);         

上述代码的理论计时时基应该是:
t=1/f=1/16MHZ=62.5ns
计数到100为一个周期T,
即T=62.5ns*100=6.25us
则f=1/T=1/6.25us=160KHZ

但是用示波器实测出来是80KHZ,只有理论计算值的一半!!
16MHZ的时钟经检查没有问题,分频也无误,求高人指点问题出现在哪里?
沙发
insect2006|  楼主 | 2016-2-25 11:28 | 只看该作者
TIM1对应的IO口也配置成GPIO_MODE_OUT_PP_LOW_FAST模式,10MHZ的速度

使用特权

评论回复
板凳
airwill| | 2016-2-25 13:13 | 只看该作者
函数里不是设置了 2 分频嘛

使用特权

评论回复
地板
qhtflsw| | 2016-2-25 13:58 | 只看该作者
改为TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 100-1, 0);         

和主频没关系,注意看手册上面T1计数频率等于Fck_psc/(PSCE[15:0]+1)。

使用特权

评论回复
5
xmshao| | 2016-2-25 16:26 | 只看该作者
TIM1_TimeBaseInit(1, TIM1_COUNTERMODE_UP, 100-1, 0);         

你对TIMER时钟做了2分频, 1改成0就好。

使用特权

评论回复
6
E-Kaia| | 2016-2-25 18:21 | 只看该作者
我用timer的时候也费了好大的功夫,最终通过不断的实验就稳定了

使用特权

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

本版积分规则

25

主题

146

帖子

1

粉丝