930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 5833|回复: 0

STM32F103定时器外设之影子寄存器分析

[复制链接]

101

主题

332

帖子

7422

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7422
发表于 2019-5-15 09:44:04 | 显示全部楼层 |阅读模式
本帖最后由 正是河豚 于 2019-5-15 09:48 编辑

    1、影子寄存器在STM32的手册中不像一般的寄存器会详述其偏移地址、复位值和寄存器各位的含义。下面截图手册中提到的影子寄存器(列举一处):

    截图的部分是出于手册:高级定时器章节--->TIM1和TIM8功能描述--->时基单元。
   2、并不是每个寄存器都带影子寄存器的,下面截图高级定时器TIM1和TIM8内部结构图,标识出带影子寄存器的寄存器:

    上图可知,有的寄存器(可称为预装载寄存器)下面有一个“阴影”,这个“阴影”就是影子寄存器。
    3、影子寄存器的好处是什么?
    1)影子寄存器是无法直接对其读写操作的(程序直接操作的是预装载寄存器),但却是真正起作用的寄存器。
    2)所有真正需要起作用的寄存器(影子寄存器)可以在同一个时间(发生更新事件时)被更新为所对应的预装载寄存器的内容,这样可以保证多个通道的操作能够准确地同步。
    3)如果没有影子寄存器,软件更新预装载寄存器时,则同时更新了真正操作的寄存器,因为软件不可能在一个相同的时刻更新多个寄存器,结果造成多个通道的时序不能同步。如果程序中还有中断等因素影响,多个通道的时序关系有可能会混乱,造成不可预知的结果。







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

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

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

Copyright © 合肥艾克姆电子科技有限公司
快速回复 返回顶部 返回列表