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

[复制链接]
 楼主| 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

笨蛋无需搭理 发表于 2022-12-26 05:48 | 显示全部楼层
自动装载值一般都是+1才行

可爱的白兔先生 发表于 2022-12-26 06:20 | 显示全部楼层
我之前了解过,他这个不是从0开始的

风吻过你的不羁 发表于 2022-12-26 06:52 | 显示全部楼层
对啊,APB1的分频属实是36MHz

討厭和人归類 发表于 2022-12-26 07:24 | 显示全部楼层
你这个好像是对的,但是总数是500,不是501

占得人间第一春 发表于 2022-12-26 07:56 | 显示全部楼层
你仿真跟踪一下,估计能抓出来PWM的频率吧

情和欲 发表于 2022-12-26 08:28 | 显示全部楼层
这种还得使用示波器,比较简单

晚晚皆安 发表于 2022-12-26 09:00 | 显示全部楼层
你参考一下官方的demo吧,就OK

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

本版积分规则

13

主题

37

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部