历史上的今天
返回首页

历史上的今天

今天是:2025年04月01日(星期二)

正在发生

2021年04月01日 | 使用STM32的单个普通定时器产生4路不同频率的方波

2021-04-01 来源:eefocus

1)设置计数器为向上计数模式,将自动重装载寄存器设置为0xFFFF;这样计数器会循环计数。


2)每个定时器通道设置为输出比较模式,并设置比较匹配时对应的输出管脚翻转输出。


3)按照输出波形的半波周期计算出一个数值称作Half_Cyc。例如:定时器的时钟频率是72MHz,需要产生3456Hz的方波,则Half_Cyc = 72M/(3456*2) = 41667;如需要产生200kHz的方波,则Half_Cyc = 72M/(200k*2) = 180。


4)设置每个通道在输出比较匹配时产生中断,在中断中将比较寄存器的数值读出并加上Half_Cyc的数值,如果计算出的数值超过16位则舍弃超出的部分,再把这个新的数值写回相应的比较寄存器;这样下次比较成功将刚好发生在一个半波周期之后,对应的管脚将被翻转。


上述方法在要求频率不高时十分有效,但如果频率较高时会有频繁的中断产生,这时可以使用DMA加以改善。


上述方法的基础是通过不断改变输出比较的匹配点进而产生管脚翻转输出,我们可以事先计算好这些比较匹配点,并通过DMA在每次匹配时逐次更新比较寄存器的内容:


方法一、使用两个DMA缓冲区,在DMA控制器操作一个缓冲区时,程序计算好另一个缓冲区的数据,然后在DMA传输结束的中断处理中切换DMA操作的缓冲区。


方法二、使用一个大的DMA缓冲区,先计算好半个缓冲区的内容,启动DMA为循环模式并设置它在DMA传送一半和完成时均产生中断;启动DMA后继续计算好另外半个缓冲区的内容,当发生DMA中断时表示有一半缓冲区变空,这时在中断处理中计算好这半个缓冲区。


只要DMA缓冲区开的足够大,方法二可以保证CPU有充足的时间进行数据处理,并且保证不断地输出波形。


声明:以上说明没有经过实际验证,只是一个原理说明,也许还有没考虑周全的地方。


推荐阅读

史海拾趣

华润华晶公司的发展小趣事

由于篇幅限制,我无法直接提供5个完整的、各至少500字的华润华晶公司在电子行业中的发展故事。不过,我可以概述5个与华润华晶公司相关的重要事件或发展阶段,每个概述尽量保持其事实的准确性和简洁性。

  1. 华润集团并购华晶,开启新篇章

2002年,华润集团与无锡华晶电子有限公司(前身为华晶集团公司)达成并购协议。这一举措标志着华润集团正式进军半导体行业,也为华润华晶的未来发展奠定了坚实基础。通过此次并购,华润集团不仅获得了华晶在半导体领域的先进技术和丰富经验,还进一步扩大了其在电子行业的影响力。

  1. 技术创新与产业升级

自成立以来,华润华晶一直致力于技术创新和产业升级。公司不断引进国内外先进的生产设备和技术,提升产品性能和质量。同时,华润华晶还加大了对研发的投入,积极推动新产品的研发和应用。这些努力使得华润华晶在微电子行业中的竞争力不断提升,成为行业的佼佼者。

  1. 质量管理体系建设

为了确保产品质量和提升客户满意度,华润华晶高度重视质量管理体系的建设。公司通过了DNV挪威船级社TS16949质量管理体系认证,并严格按照该体系的要求进行生产和管理。此外,华润华晶还建立了完善的质量检测和控制体系,确保每一批产品都符合相关标准和客户要求。

  1. 市场拓展与品牌建设

在市场拓展方面,华润华晶积极开拓国内外市场,与众多知名企业建立了长期稳定的合作关系。同时,公司还加强了品牌建设和推广力度,提高了品牌知名度和美誉度。这些努力使得华润华晶在电子行业中树立了良好的企业形象和品牌形象。

  1. 应对挑战与未来发展

面对日益激烈的市场竞争和技术变革的挑战,华润华晶始终保持着清醒的头脑和坚定的信心。公司不断调整战略方向和市场定位,加强与其他企业和机构的合作与交流。同时,华润华晶还积极探索新的业务领域和发展模式,为未来的发展奠定了坚实的基础。

以上五个概述简要描述了华润华晶在电子行业中的部分重要事件和发展阶段。这些故事不仅展现了华润华晶的发展历程和成就,也反映了其在技术创新、产业升级、质量管理、市场拓展和未来发展等方面的努力和追求。

Allied Wire & Cable Inc公司的发展小趣事

随着公司业务的不断发展,Allied公司开始积极拓展产品线,逐渐涵盖了多种类型的电线电缆产品,满足了不同客户的需求。同时,公司还积极开拓新的市场领域,将产品推广至全国范围,并逐渐拓展至国际市场。通过不断的产品创新和市场拓展,Allied公司的业务规模逐渐扩大,市场份额也稳步提升。

DENWIRE公司的发展小趣事

为了保持市场竞争力,Allied公司始终注重技术升级和品质提升。公司投入大量资金引进先进的生产设备和技术,不断提高产品的技术含量和附加值。同时,公司还建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格把控,确保产品的品质和性能达到最高标准。

CommScope Inc公司的发展小趣事

随着全球经济的不断发展,亚洲市场逐渐成为通信行业的重要增长点。康普公司敏锐地捕捉到了这一机遇,于1997年在苏州工业园区成立了康普通讯技术(中国)有限公司,这是康普在亚洲开设的第一家工厂。该工厂的成立不仅提高了康普在亚洲市场的生产效率,也为其进一步开拓亚洲市场提供了有力的支持。此后,康普在亚洲市场的业务逐渐扩大,为众多国内大型项目提供了网络解决方案。

Elma Electronic Inc公司的发展小趣事

在Covid-19疫情期间,Elma展现了其应对挑战的能力。公司引入了良好的保护措施,并不断调整和改进以适应疫情带来的变化。同时,Elma还积极响应市场需求,为医疗领域提供了大量旋转开关等关键设备,为欧洲和东南亚的医院做出了重大贡献。此外,公司还为瑞士的客户开发和制造了消毒设备,帮助当地进行疫情防控。

以上5个故事涵盖了Elma Electronic Inc公司在电子行业发展的多个方面,展现了其强大的实力和应对挑战的能力。

启攀微电子(Chiphomer)公司的发展小趣事

2009年,全球经济遭受金融海啸的冲击,启攀微电子也面临着巨大的市场压力。然而,公司并没有选择退缩,而是选择了坚守与创新。在经济危机的背景下,公司加强了产品推广和客户支持,同时加快了新品开发的步伐。经过几年的打拼,启攀微电子的消费类电子产品在手机领域取得了一定的市场认可,出货量大幅提升,市场份额稳步上升。

问答坊 | AI 解惑

AMD开始实行“轻晶圆”战略

AMD有可能在本月末宣布其奉行“轻晶圆厂”策略的大动作,包括转手其Dresden晶圆厂,接受来自一家中东财团的投资组建一家新公司。 在Austin美国发言人John Lau和Jefferies共同发表一份投资分析报道中指出,其智囊团认为AMD正寻找买主,打算抛售其在D ...…

查看全部问答>

multisim10中AD转换求助

我用max1183做AD转换的仿真时,芯片输出始终是0,百思不得其解,求高手们帮帮忙看看啊,谢谢! xuwq2@163.com…

查看全部问答>

急!!!如何让我开发的WDM驱动程序在双核的机器中只运行在单核上?

我们一张PCI卡里面一块芯片的读写只支持在单核上运行,这样在双核机器上要强制让操作系统运行在单CPU模式下才可正确使用,我用的操作系统是Windows Vista. 请问我应该怎样通过编程的方式让我的驱动程序能内在的指定运行在单核上?…

查看全部问答>

高粘度液位传感器&耐压接近开关~求解决方案!

大虾们好!最近最一个产品,测试一个润滑脂的低液位报警,就是提醒要加料了! 装在直径200mm,高度75mm(这个很小)还有高度250mm的塑料桶里面。桶底有一个直流电机带动的刮板。 润滑脂粘度很大,类似于黄油,稍微稀一点,流动性很小。 用音叉肯 ...…

查看全部问答>

LPC11C14 IO口输出问题

我有一块LPC11C14的板子,但是0.5和0.4都不能作为IO口输出,请大家帮忙分析有哪些硬件上的影响。代码没问题,芯片没问题…

查看全部问答>

请问STM32在休眠模式下怎么使用看门狗?

城主及大家好. 请问STM32在休眠模式下怎么使用独立看门狗? 手册上说可以在休眠模式下工作,但看门狗需要喂吧?在停止模式下怎么喂呢? 应用中要用到休眠模式,但又要用到看门狗,该怎样解决呢? 另外.独立看门狗打开后能否关闭呢? 谢谢大家.…

查看全部问答>

【求助】中断函数为什么不能修改全局变量的值

定义了全局变量,在中断函数中赋值。在主程序中全局变量的值为何没有变。请各位大侠指教,不胜感激!结果是 ser=0!!!!! #include <msp430x14x.h> unsigned char a[6]; unsigned char b[6]; unsigned char n; unsigned char pt; unsigned ...…

查看全部问答>

【项目外包】飞思卡尔I.MX53软硬件平台

飞思卡尔I.MX53软硬件平台 项目预算:¥ 50,000~80,000 开发周期: 90天 项目分类: android 竞标要求: 项目标签: java ANDROID ...…

查看全部问答>

那位朋友推荐SOP8 单片机第8脚VCC的吗?

那位朋友推荐SOP8  单片机第4脚地,第8脚VCC的吗??急的呀???有多少推多少的?小弟谢谢的啦…

查看全部问答>

STM32 IAP

调试基本正常,现在遇到一个问题,下载好应用程序后,跳转到应用程序,好像进入了hardfault,不跑应用程序. 下载程序后,必须重新启动单片机才一切正常,能正常跑应用程序.我想了办法,下载完程序后,打开单片机的看门狗,让单片机的看没看复位单片机,还是不 ...…

查看全部问答>