历史上的今天
返回首页

历史上的今天

今天是:2024年08月26日(星期一)

正在发生

2018年08月26日 | STM32定时器的预装寄存器及影子寄存器话题

2018-08-26 来源:eefocus

经常有人问起预装寄存器和影子寄存器的话题,其实STM32相关系列的手册里有介绍,有文档做介绍,这里借花献佛地一起分享下。

在谈预装寄存器及影子寄存器的差别前,不妨先对STM32定时器的时基单元做个基本了解。STM32各系列的定时器结构和框架基本是一样的,时基单元也一样。 下面时基单元是以STM32F3系列为参考。

 

 

时基单元中的TIMx_PSC、 TIM_ARR两个寄存器加上捕捉比较模块中TIMX_CCR寄存器,它们都可以动态修改。不过他们的修改和生效可能不在同一个时刻,这里便引入了预装寄存器及影子寄存器的概念。要记住一点,真正在TIMER模块中起作用的是影子寄存器。

 

 

 

1、用户程序对TIMx_PSC寄存器值的修改或读取都是操作其预装载寄存器,其修改值只能通过更新事件后才能生效,即从TIMx_PSC的预装寄存器拷贝到TIMx_PSC的影子寄存器。

 

 

2、对于TIM_ARR寄存器的修改或读取,是直接操作影子寄存器还是先操作ARR的预装寄存器,等更新事件后拷贝到影子寄存器呢,这跟一个TIMx_CR1寄存器的ARPE位有关。如果ARPE=0,即不使用ARR的预装功能,则修改TIMx_ARR 寄存器的值就是操作影子寄存器,新的ARR的值立即生效。否则,如果ARPE=1,即使用ARR的预装功能,则修改TIMx_ARR 寄存器的值就是操作预装寄存器,直到发生更新事件后,ARR预装载寄存器的值才被拷贝到影子寄存器中。

 

 

 

 

 

 

同样,对于TIMx_CCR的修改和读取跟TIM_ARR寄存器的修改或读取类似。是直接操作CCR影子寄存器还是先操作CCR的预装载寄存器,等更新事件后拷贝到影子寄存器呢,这跟一个TIMx_CCMRx寄存器的OCxPE位有关。如果OCxPE=0,即不使用CCR的预装载功能,则修改TIMx_CCR寄存器的值就是操作影子寄存器,新的CCR的值立即生效。否则,如果OCxPE==1,即使用CCR的预装载功能,则修改TIMx_ARR 寄存器的值就是操作预装载寄存器,要等到发生更新事件后,CCR预装载寄存器的值拷贝到影子寄存器中。

明白了OCxPE位的功用后,当OCxPE==1时,就不难理解为什么做OC比较输出时,发现修改CCR寄存器的值后可能需要最长1个ARR周期的延时后才能生效。


推荐阅读

史海拾趣

Greenray Industries Inc公司的发展小趣事

随着数据中心的能耗问题日益突出,GreenTech敏锐地捕捉到了这一市场机遇。公司研发了一套绿色数据中心解决方案,包括高效能服务器、智能温控系统和可再生能源供电系统等。这些创新技术有效降低了数据中心的能耗和碳排放,为云计算和大数据产业的绿色发展提供了有力支持。GreenTech的解决方案得到了多家互联网巨头的认可,并成功应用于多个大型数据中心项目。

Chipcon AS公司的发展小趣事

面对日益激烈的市场竞争,Chipcon AS公司积极寻求与其他企业的技术合作。通过与一家知名的半导体公司建立战略合作关系,双方共同研发了一款具有划时代意义的智能传感器芯片。这款芯片不仅集成了多种传感器功能,还具备高度集成和智能化的特点,为物联网领域的发展提供了有力支持。通过技术合作,Chipcon AS公司不仅提升了自身的技术实力,还拓展了市场份额。

API Delevan公司的发展小趣事

为了进一步扩大市场份额,API Delevan公司积极寻求与国内外合作伙伴的合作,共同开拓市场。通过参加国际电子展会、举办技术研讨会等方式,公司不断提升品牌知名度和影响力。同时,API Delevan还注重客户关系管理,为客户提供优质的产品和服务,赢得了客户的信任和忠诚。

Compound Photonics公司的发展小趣事

在公司发展初期,Compound Photonics曾专注于一款微投显示模组的研发。然而,这个项目并未如预期般顺利,最终宣告失败。面对挫折,公司并没有放弃,而是迅速调整战略,转向LCoS方向。这一决策不仅让公司避免了进一步的损失,还为其在LCoS领域的发展打开了新的大门。

Continental公司的发展小趣事

随着汽车工业的发展,大陆集团开始将业务扩展到汽车轮胎领域。1901年,马牌轮胎首次与德国戴姆勒·奔驰汽车公司合作参加汽车竞赛,这标志着大陆集团正式进入汽车轮胎市场。仅仅三年后,大陆集团就生产出了全世界第一条带花纹的汽车轮胎,这一创新大大提高了轮胎的抓地力和安全性。1908年,大陆集团又生产出了全世界第一个可拆装的车轮,使车轮和车轴分开,由此大大节省了换轮胎的时间。这些技术创新使得大陆集团在汽车轮胎市场上占据了重要地位。

Elpakco Inc公司的发展小趣事

Elpakco Inc公司始终将产品质量视为企业的生命线。公司建立了严格的质量控制体系,从原材料采购到生产流程,再到产品出厂检测,每一个环节都严格把关。正是这种对品质的坚持,让Elpakco Inc的产品在市场上赢得了良好的口碑,越来越多的客户开始选择信赖Elpakco Inc的品牌。

问答坊 | AI 解惑

一个国外的毕业设计

一个国外的毕业设计…

查看全部问答>

要做串口通讯了

实现上位机发送一串字符 a23783345545 下位机接到a后将后面的字符存入eeprom 在主程序里再调出保存的字符,在液晶上显示 涉及到好几个功能 大家可以帮我分析一下啊 单片机是430 f169…

查看全部问答>

(五)偶遇一好东东,不忘与大家分享: 分析笔记本电池及节能技术

个性化的电源管理技术和软件   ■ IBM PM Device和Battery MaxiMiser   图7   此外,该软件还能显示出电池的详细情况,如电压、容量、充电次数等参数。为了更有效地节电,除了CPU之外,Battery MaxiMiser还提供了PCI总线及CD-ROM的运行 ...…

查看全部问答>

嵌入式到底怎么回事啊

谁能告诉我嵌入式到底是做什么用的,好像很火啊,怎么学啊…

查看全部问答>

香呼叫主,求救信号,有关pwm输入捕获的问题!

我的配置如下,但是我用信号发生器产生信号输入,根本就不进中断,但是我要是直接用导线给输入引脚引入高电平(相当于一个脉冲信号),就可以进中断,下面是我的程序,实在不明白原因!int void  void ICapture_Configuration(void) ...…

查看全部问答>

大家对单片机驱动WIFI通信感兴趣吗?

现在iphone,android流行,智能手机都支持WIFI,可以轻易的作为与单片机连接的桥梁!…

查看全部问答>

如何进行芯片选型,求助牛人

 现在有一个信号采集处理项目,但是,对于如何选购模拟芯片还是拿不准啊!以前主要是编程和调试,对于选芯片还是新手。只好求助坛里的硬件牛人了,除了从网上一个芯片一个芯片地找,然后再将手册一个一个地看,还有什么好的方法吗?而且这样也 ...…

查看全部问答>

C2812编译之后出现上述错误提示

\"c2812adcpwmasynctest_main.c\", line 21: fatal error: could not open source file \"c2000_main.h\" 我编译之后出现上述错误提示    求高手啊 谢谢了…

查看全部问答>