OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2252|回复: 4

关于STM32F1改变定时器1的计数模式导致频率改变问题

[复制链接]

1

主题

6

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-6-19
在线时间
7 小时
发表于 2020-3-19 09:33:46 | 显示全部楼层 |阅读模式
5金钱
在这里我设定arr144 psc0输出20us的pwm波 计数模式为向上 仿真输出频率正常周期为20us  第二步我想设置计数模式为中央计数模式 仿真输出就变了周期为40us的样子 求大神指教这是出了什么问题 ,小白本来的目的是为了设置周期为20us相位差为180度的两路pwm波输出

在这里我设定arr144 psc0输出20us的pwm波 计数模式为向上

在这里我设定arr144 psc0输出20us的pwm波 计数模式为向上

向上计数模式对应波形

向上计数模式对应波形

就改变了计数模式为中央计数

就改变了计数模式为中央计数

然后频率就变了 求大神教教

然后频率就变了 求大神教教

最佳答案

查看完整内容[请看2#楼]

向上计数是从0计数到arr然后再从0开始,中央计数模式是从0向上计数到arr再向下计数到1再从0开始,也就是说你切换计数模式后多计数了一倍,周期翻倍频率减半,你可以试着把中央计数模式下arr的值换为719试一下
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2020-3-19
在线时间
17 小时
发表于 2020-3-19 09:33:47 | 显示全部楼层
向上计数是从0计数到arr然后再从0开始,中央计数模式是从0向上计数到arr再向下计数到1再从0开始,也就是说你切换计数模式后多计数了一倍,周期翻倍频率减半,你可以试着把中央计数模式下arr的值换为719试一下
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-6-19
在线时间
7 小时
 楼主| 发表于 2020-3-19 09:34:19 | 显示全部楼层
先谢谢大神了
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-6-19
在线时间
7 小时
 楼主| 发表于 2020-3-20 08:39:24 | 显示全部楼层
克利夫兰 发表于 2020-3-19 09:33
向上计数是从0计数到arr然后再从0开始,中央计数模式是从0向上计数到arr再向下计数到1再从0开始,也就是说 ...

719确定是可以的 就是有办法让arr为1439,然后频率还是50khz有方法吗,谢谢老哥了
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2020-3-19
在线时间
17 小时
发表于 2020-3-25 15:04:28 | 显示全部楼层
可爱的朱哥啊 发表于 2020-3-20 08:39
719确定是可以的 就是有办法让arr为1439,然后频率还是50khz有方法吗,谢谢老哥了

在不改变时钟周期和计数模式的前提下我没想到什么好办法,毕竟频率决定了每计一次数的时间,arr决定了计数多少次触发重装载。
如果资源够用的话你可以尝试使用另一个同频计数器触发中断来强制让这个计数器在计数到719的时候重装载,但是这样资源浪费而且效率也不高。对了,如果你用于PWM还采用我上述的方式的话,还要注意占空比,因为强制触发重装载后未计数的部分也是考虑在占空比中的。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 15:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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