历史上的今天
返回首页

历史上的今天

今天是:2025年04月09日(星期三)

正在发生

2019年04月09日 | STM32的PWM波的频率和占空比

2019-04-09 来源:eefocus

网上看到一篇文章,不是很完整,但是有助于我理解,个人觉得还可以,具体的代码,网上有很多,大家可以参考参考计算一下。

下面的这个是stm32的定时器逻辑图,上来有助于理解:



TIM3的ARR寄存器和PSC寄存器,

确定PWM频率。

这里配置的这两个定时器确定了PWM的频率,我的理解是:PWM的周期(频率)就是ARR寄存器值与PSC寄存器值相乘得来,但不是简单意义上的相乘,例如要设置PWM的频率参考上次通用定时器中设置溢出时间的算法,例如输出100HZ频率的PWM,首先,确定TIMx的时钟,除非APB1的时钟分频数设置为1,否则通用定时器TIMx的时钟是APB1时钟的2倍,这时的TIMx时钟为72MHz,用这个TIMx时钟72MHz除以(PSC+1),得到定时器每隔多少秒涨一次,这里给PSC赋7199,计算得定时器每隔0.0001秒涨一次,即此时频率为10KHz,再把这个值乘以(ARR+1)得出PWM频率,假如ARR值为0,即0.0001*(0+1),则输出PWM频率为10KHz,再假如输出频率为100Hz的PWM,则将ARR寄存器设置为99即可。如果想调整PWM占空比精度,则只需降低PSC寄存器的值即可。


TIMx_CCRx寄存器,

确定PWM的占空比。

TIMx_CCR1—TIMx_CCR4确定定时器的CH1—CH4四路PWM的占空比。直接给该寄存器赋0—65535值即可确定占空比。占空比计算方法:TIMx_CCRx的值除以ARR寄存器的值即为占空比,因为占空比在0—100%之间,所以一般TIMx_CCRx寄存器值不能超过ARR寄存器的值,否则可能会引起PWM的频率或占空比的准确性。


推荐阅读

史海拾趣

DAYLIGHT公司的发展小趣事

随着公司规模的扩大和市场份额的增加,DAYLIGHT开始将目光投向国际市场。公司通过与国际知名电子企业的合作,成功将其产品打入国际市场,并在多个国家和地区建立了销售渠道。同时,DAYLIGHT还积极参与国际电子展和技术交流会议,不断提升其在国际市场上的知名度和影响力。

智烽维(CDA)公司的发展小趣事

在超级电容器领域不断取得突破的同时,智烽维也在积极探索新的技术领域。2018年,公司成功实现了锂离子电容器的研发突破。这一成果不仅填补了公司在这一领域的空白,也为公司未来的发展开辟了新的道路。锂离子电容器以其高能量密度、高功率密度和长寿命等特点,在新能源汽车、智能电网等领域具有广阔的应用前景。

AXTAL公司的发展小趣事

近年来,电子行业面临着诸多市场挑战与机遇。在这场全球供应链的博弈中,AXTAL公司展现出了敏锐的市场洞察力和应变能力。面对中国发布的镓锗禁令,AXTAL巧妙地抓住了第一个漏洞,通过在中国设立的子公司申请出口镓锗的许可证,成功绕过了禁令的限制。这一睿智之举不仅为公司打开了新的市场窗口,也彰显了公司在应对市场挑战时的灵活性和创造力。

Dover Corporation公司的发展小趣事

进入21世纪后,Dover Corporation开始实施多元化发展战略。除了电梯业务外,公司逐渐将业务扩展到其他领域,如工程产品、燃料解决方案、成像和身份识别等。这一战略的实施使Dover能够更好地应对市场变化,实现业务的持续增长。

FDI [Future Designs , Inc.]公司的发展小趣事

为了进一步扩大市场份额,FDI公司开始实施全球化战略。公司先后在欧美、亚洲等地设立了分支机构,并与当地企业建立了紧密的合作关系。同时,FDI还积极参与国际电子展会和论坛,与全球各地的行业精英交流学习。这些举措不仅提升了FDI的品牌影响力,也为其带来了更多的商业机会。

Cambridge Electronic Industries Ltd公司的发展小趣事

在激烈的市场竞争中,CEI深知品质管理的重要性。公司建立了完善的质量管理体系,从原材料采购到产品制造、检验、包装等各个环节都进行严格把关。同时,CEI还注重持续改进和优化生产流程,提高生产效率和产品质量。这些措施使得CEI的产品在市场上具有更高的竞争力和口碑。

问答坊 | AI 解惑

技术论坛规矩,请大家遵守

1、在自己得到了别人的帮助以后,一定在最后总结一下,请不要一声不吭的走人。 总结的内容包括:1、问题到底出在哪里。2、通过第几楼的方法解决的。 这种总结,对其他人很有用,通过看总结他们可以知道第几楼的方法是对的。 在自己的求助帖最后 ...…

查看全部问答>

wince 5.0 sdk 支持vs2005

pb 5.0 中自带的.net compact framework是1.0的。vs2005用的是2.0的。 因此我想生成印象时将2.0的.net framework包含进去。 于是安装了WinCEPB50-071231-Product-Update-Rollup-Armv4I.msi这个补丁。 在**catalog items中的Applications and Ser ...…

查看全部问答>

从8051单片机通过USB接口向PC读写文件

1. 请问是否可行? 2. 需要学习哪些方面的东西? 我没有做过开发,但是必须实现这个功能。只有最基本的编程能力。所用的芯片是TI的CC2531.芯片自带USB controller,例子程序里有基本的USB library,但是无法实现向PC读写文件。 谢谢。…

查看全部问答>

位寻址与字节地址

刚刚开始接触单片机。。。对于位寻址和字节地址有点搞不明白。 位寻址区的范围不是应该在20H~2FH嘛,但是有题目是这样问的:位寻址7DH与字节地址7DH如何区别? 请大大们帮我解释一下这个题目,谢谢…

查看全部问答>

我想在日历控件上(MFC的DateTimePicker控件)上弹出TAH(上下文菜单,类似pc上的右键弹出菜单),请问该如何实现,能给个例子吗?

网上的例子都千篇一律的出自codeproject上一位葡萄牙工程师的论文,看了几遍都没看懂,里面很多函数参数不知从何而来.不知大哥能否给小弟指导一下?感激不尽…

查看全部问答>

关于用winddk及vc编写设备驱动的问题

  用DirverMonitor测试驱动程序时,出现the driver is marked as disabled如何解决…

查看全部问答>

请教VXWORKS browser调试问题!急!

用browser调试程序!查看任务状态,室时间空中,用户任务的名字会时常变成红字,怎么回事?敬请各位英雄指教!…

查看全部问答>

请问ADS62P48前变压器设计

本帖最后由 dontium 于 2015-1-23 13:26 编辑 请问有一线性调频信号要用ADS62P48进行采集,ADS62P48前变压器要怎么设计??? …

查看全部问答>

PCB和电磁兼容设计

PCB和电磁兼容设计 比较基础的一本书,对PCB的EMC理解有帮助,希望大家仔细看。…

查看全部问答>

【每周讨论】说说你写C语言程序出现的最愚蠢的BUG

说说你写C语言程序出现的最愚蠢的BUG?  …

查看全部问答>