2

我真的很困惑。手册说:

RD16: 16-bit Read/Write Mode Enable bit
1= Enables register Read/Write of Timer1 in one 16-bit operation
0= Enables register Read/Write of Timer1 in two 8-bit operations

但是,实际上似乎没有任何方法可以通过一个 16 位操作进行 R/W!从数据表后面的内容以及我在网上阅读的内容来看,16位值仍然必须读作:

foo = TMR1L;
bar = TMR1H;

并写成:

TMR1H = bar;
TMR1L = foo;

除非我只是没有看到,否则 RD16 没有显示在 Timer1 框图中,并且似乎对任何东西都没有影响!

然而,我知道这不可能是真的,所以我在这里问:Timer1 RD16 位在 PIC18 微控制器上有什么作用?

4

1 回答 1

6

它在内部缓冲。置位后,对 TMR1L 寄存器的读取会导致实际的 16 位值被缓冲。TMR1L/H 指向缓冲区,而不是定时器。

于 2012-12-02T22:59:52.720 回答