打印
[STM32F1]

请问这样设置参数PWM的输出频率是1KHZ吗

[复制链接]
1028|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
doublers|  楼主 | 2021-4-27 12:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于使用STM32F103定时器3生成PWM的频率问题:
定时器需要设置下面三个参数:
         TIM_TimeBaseInitStructure.TIM_Period=per;             //自动装载值
         TIM_TimeBaseInitStructure.TIM_Prescaler=psc;                  //分频系数
         TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;                  //时钟分频因子
其中,第三项为时钟分频因子,设置为TIM_CKD_DIV1,就是1分频,即保持总线频率。因为定时器3是挂接在APB1总线上的,且APB1的频率为36MHZ,所以定时器3的输入频率为36MHZ
当我设置自动装载值per500,分频系数psc72-1时,根据公式
f= Tclk/((per)*(psc+1))
可以计算出f= Tclk/((per)*(psc+1))=36MHZ/500*72=1000HZ
请问:这种算法对吗?这样的参数PWM输出的频率是1000HZ吗?

使用特权

评论回复
沙发
极客晨星| | 2022-12-26 04:12 | 只看该作者
你用示波器抓一下就知道是不是1000Hz

使用特权

评论回复
板凳
銀河| | 2022-12-26 04:44 | 只看该作者
频率是这么算的,问题不大

使用特权

评论回复
地板
偷吻月亮| | 2022-12-26 05:16 | 只看该作者
你得用499吧,不是500

使用特权

评论回复
5
笨蛋无需搭理| | 2022-12-26 05:48 | 只看该作者
自动装载值一般都是+1才行

使用特权

评论回复
6
可爱的白兔先生| | 2022-12-26 06:20 | 只看该作者
我之前了解过,他这个不是从0开始的

使用特权

评论回复
7
风吻过你的不羁| | 2022-12-26 06:52 | 只看该作者
对啊,APB1的分频属实是36MHz

使用特权

评论回复
8
討厭和人归類| | 2022-12-26 07:24 | 只看该作者
你这个好像是对的,但是总数是500,不是501

使用特权

评论回复
9
占得人间第一春| | 2022-12-26 07:56 | 只看该作者
你仿真跟踪一下,估计能抓出来PWM的频率吧

使用特权

评论回复
10
情和欲| | 2022-12-26 08:28 | 只看该作者
这种还得使用示波器,比较简单

使用特权

评论回复
11
晚晚皆安| | 2022-12-26 09:00 | 只看该作者
你参考一下官方的demo吧,就OK

使用特权

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

本版积分规则

13

主题

37

帖子

0

粉丝