历史上的今天
返回首页

历史上的今天

今天是:2025年08月21日(星期四)

正在发生

2019年08月21日 | STM32的PWM的频率和占空比设定

2019-08-21 来源:eefocus

在TEC控温项目中用到PWM的占空比来控制温度,这就需要占空比是连续可以变化的。


最开始也是到处找资料,找现成的例程,发现大家各说风云,最后还是没有建设性的结果。所以又请教了官方的固件库“STM32最新固件库v3.5”(存到百度网盘->开发应用->stm32目录下了)呵呵,有现成的demo。开始好像是懂了也没有过多的去研究,也没有备份,就没去管他了。后来具体用的时候发现没有想象的那么简单,又倒腾了好久才搞清楚,问了不走弯路。这次决定用博客来记录一下现在的成果。配置文件如下:


void TIME_ini(uint16_t Channel4Pulseset)

{

TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

  TIM_OCInitTypeDef  TIM_OCInitStructure;

  uint16_t TimerPeriod ;

  uint16_t Channel4Pulse = 0;


  RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 | RCC_APB2Periph_AFIO, ENABLE);


  /* Time Base configuration */

  TIM_TimeBaseStructure.TIM_Prescaler = 0;//不分频,PWM的频率为72M/((TIM_Prescaler +1)*TIM_Period )

  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

  TIM_TimeBaseStructure.TIM_Period = 0xfff;

  TIM_TimeBaseStructure.TIM_ClockDivision = 0;

  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;


  TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);


  /* Channel  4 Configuration in PWM mode */

  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;

  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

  TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;


  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;

  TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;

  TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;

  TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;


  TIM_OCInitStructure.TIM_Pulse = Channel4Pulseset;               //占空比=TIM_Pulse /TIM_Period                        

  TIM_OC4Init(TIM1, &TIM_OCInitStructure);


  TIM_Cmd(TIM1, ENABLE);

  TIM_CtrlPWMOutputs(TIM1, ENABLE);

}


定时器1在不分频的情况下始终频率是72M,所以设置PWM的频率=72M/((TIM_Prescaler +1)*TIM_Period );


占空比=TIM_Pulse /TIM_Period     



推荐阅读

史海拾趣

Fair Rite公司的发展小趣事

1952年,理查德·帕克与合作伙伴埃德蒙·斯坦威克和杰克·韦伯在纽约的Wallkill共同创立了Fair Rite产品公司。当时,电子行业正处于起步阶段,对新型电子元器件的需求日益增长。Fair Rite凭借对市场敏锐的洞察力,开始专注于铁氧体元件的研发和生产。公司初期面临资金短缺和技术挑战,但通过不断努力和创新,逐渐在市场中树立了良好的口碑。

AVG [AVG Semiconductors(HITEK)]公司的发展小趣事

随着全球对可持续发展的关注度不断提高,AVG也积极响应这一趋势,将可持续发展理念融入公司的战略和运营中。公司注重环保和节能减排,采用环保材料和生产工艺,减少对环境的影响;同时,AVG还积极参与社会公益事业,为社会做出贡献。这些举措不仅提升了AVG的社会形象,也为公司的长远发展奠定了坚实的基础。

这些故事只是AVG Semiconductors(HITEK)在电子行业发展中众多精彩瞬间的一部分。通过技术创新、市场扩张、合作伙伴关系的建立以及应对挑战和危机的能力,AVG不断壮大自身实力,为电子行业的发展做出了重要贡献。未来,AVG将继续秉持创新精神和社会责任感,在电子行业中书写更加辉煌的篇章。

爱普特微(aptchip)公司的发展小趣事

爱普特微电子(APTCHIP)的创立,可追溯到XXXX年。由一群半导体行业集成电路设计领域的资深人士联合发起,他们看到了中国微处理器市场的巨大潜力和发展空间。这些专家怀揣着技术创新和自主可控的梦想,在深圳这片创新热土上,共同创立了爱普特微电子。从创立之初,公司就明确了自己的目标——成为中国最好的MCU(微控制器)公司。

南京绿芯(Grenergy)公司的发展小趣事

创立不久,爱普特微电子便迎来了一次重大的技术突破。公司成功研发出了全国产、全自主可控、高可靠性的32位微处理器芯片。这一产品的推出,不仅填补了国内市场的空白,更以其卓越的性能和稳定性,赢得了市场的广泛认可。随后,公司又基于自研IP库及RISC架构内核,量产了一系列全国产高可靠性32位MCU产品,广泛应用于工业控制、物联网、智能家电等领域。

台湾凌通(Generalplus)公司的发展小趣事
可能是光线阈值设置不当,导致指示灯在光线变化时无法正确响应。可尝试调整光敏元件的灵敏度或重新设置光线阈值。
南京国博公司的发展小趣事

2022年7月22日,国博电子在上海证券交易所科创板成功上市,标志着公司进入了一个新的发展阶段。上市不仅为公司带来了更多的资金支持和市场关注,也为其未来的发展提供了更广阔的空间。作为中国电子科技集团有限公司(简称“中国电科”)的首家科创板上市公司,国博电子承载着推动中国电子信息产业高质量发展的重任。上市以来,公司继续加大研发投入,拓展产品线,致力于成为全球射频电子领域的行业领导者。

问答坊 | AI 解惑

汽车爆震传感器测试系统的工作原理

  压电式爆震传感器广泛应用于发动机机体或气缸的爆震检测中。汽车防爆震系统通过检测出压电传感器的电压值来判断爆震强度。        因此,功能完善、性能稳定、操作简单、测试精度高,可满足大批量生产测试需要的爆震传感 ...…

查看全部问答>

能源危机成为PV发展良机

纵观世界太阳能设备产业鼻祖也就三家:美国应用材料(AMAT)、爱发科(ULVAC,原日本真空)和瑞士Oerlikon。爱发科在FPD行业拥有丰富的经验,是日本能够设计和生产薄膜太阳能电池成套设备的最大的公司之一。爱发科在薄膜太阳能设备的发展领域早,是日本 ...…

查看全部问答>

51汇编语言教程

里面有单片机概述和51汇编语言教程!…

查看全部问答>

逆变的一些材料

本帖最后由 paulhyde 于 2014-9-15 03:02 编辑 大家都说可能出逆变的题目,和大家分享一些逆变的材料    …

查看全部问答>

这是咋回事啊????

今天写了一个小程序,其中包括了按键和数码管,刚开始时一切正常,但是第二次用AS 下载时却发现数码管灭了,当时也没在意,然后再下一遍程序,数码管啥也不显示。最后我用最基本的 非门来验证,却发现所有没用的管脚都是3.2v。是不是我的芯片坏了 ...…

查看全部问答>

智能家居系统案例--比尔·盖茨的“未来之家”

现在最著名的智能家居要数比尔·盖茨的豪宅了。他在《未来之路》一书中以很大篇幅来描绘他正在华盛顿湖建造的私人豪宅。在他的描绘中,这个住宅是“由硅片和软件建成的”并且要“采纳不断变化的尖端技术”。经过7年的建设,1997年,比尔·盖茨的豪 ...…

查看全部问答>

小弟要毕业做题目请大侠们指点

小弟想在嵌入式方面做个无线的题目,正愁于选题,请大侠们帮忙。…

查看全部问答>

windows ce 安装盘需要哪些组件啊? 请求各位大侠帮帮忙了!

windows ce 安装盘需要哪些组件啊 我想要购买一款windows ce 的安装盘,但是我是新手,不知道应该在这个安装盘中需要哪些组件。 比如需要BSP么 还有Platform Builder 这个是盘里面自带的么 请求各位大侠帮帮忙了…

查看全部问答>

这是问题怎么解决

最近刚学习zigbee,出现一个问题,搞了很久,不懂,特请大虾解释一下。小弟不胜感激。 Error[e46]: Undefined external \"osal_int_enable\" referred in ZMain ( C:\\SerialApp1.3\\ZStack-1.4.2-1.1.0\\Projects\\zstack\\ Utilities\\SerialCoo ...…

查看全部问答>

电感降温问题

请教各位大侠,如果三相输入,输出为400v/1.5A,电感怎么降温使得不那么热,效率能否提高呢?…

查看全部问答>