打印

这样设计究竟是为什么?

[复制链接]
737|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiajs|  楼主 | 2015-12-13 10:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SHDWBFULL和SHDWAFULL
说明中说的是阴影寄存器的FIFO未满标志,阴影寄存器在32位写置位,16位对CMPA/CMPB写,也置位。
在计数器比较子模块的结构框图中,也没有标示出FIFO与CMPA/CMPB阴影寄存器的关系啊?
这样设计究竟是为什么?   如何来使用它?

相关帖子

沙发
jiajs|  楼主 | 2015-12-13 10:18 | 只看该作者
CMPAM
Counter-compare A mirror Register   这种镜像寄存器与阴影寄存器、工作寄存器有什么关系啊?
怎么来使用的

使用特权

评论回复
板凳
zhanghqi| | 2015-12-13 10:18 | 只看该作者
楼主只记着这个影子寄存器,只是设置使用它时,将它的值装入CPMA(CMPB)中,并且,写入CMPA(CMPB)时,实际是对它写入的。

使用特权

评论回复
地板
zhenykun| | 2015-12-13 10:18 | 只看该作者
如果设置为不使用它,写入CMPA(CMPB)时,将直接写入。

使用特权

评论回复
5
wyjie| | 2015-12-13 10:19 | 只看该作者
这两个标志位的主要作用是用来判断CMPA和CMPB阴影寄存器的值是否被overwrite,因为我们在实际应用中,最常用的是改变比较寄存器的值,然后将这个改变后的值写入阴影寄存器,在相关事件到达的时候装载的active 寄存器中。

使用特权

评论回复
6
wyjie| | 2015-12-13 10:19 | 只看该作者
这两个标志位就提供这样一种功能,当更新速度更快,即用户程序改变CMP寄存器的值过快,之前的寄存器的值还没装载,这时候用户可以查询这个标志位,看之前的数据是否被装载,来决定是否要用最新的数据覆盖之前的数据。像周期寄存器其实比较少改动,所以就没有这个功能。

使用特权

评论回复
7
jlyuan| | 2015-12-13 10:19 | 只看该作者
镜子寄存器可以理解为跟active寄存器一样,都有阴影功能, 但是它提供另外的功能是,TBPRDHR and TBPRD 能够作为一个32bit的值进行写入,只能通过镜像地址来写。     

使用特权

评论回复
8
jiajs|  楼主 | 2015-12-13 10:19 | 只看该作者
嗯,好的,我知道了

使用特权

评论回复
9
angerbird| | 2015-12-13 17:20 | 只看该作者
这些都是需要在初始化的时候完成的吧

使用特权

评论回复
10
zhangmangui| | 2015-12-13 20:22 | 只看该作者
影子寄存器是由于原寄存器不能按位操作   通过影子寄存器  可以实现未操作    方便而已

使用特权

评论回复
11
zhangbo1985| | 2015-12-13 23:00 | 只看该作者
有些是默认的就没必要再程序中体现的吧

使用特权

评论回复
12
lefeng| | 2015-12-14 19:57 | 只看该作者
这两个标志位的主要是用来判断CMPA和CMPB阴影寄存器的值是否被overwrite的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

940

主题

11975

帖子

6

粉丝