在读取 16 位值 PCA0L 和 PCA0H 时,我的微控制器 C8051F120 的数据表很清楚:
“读取 PCA0L 会自动将 PCA0H 的值锁存到“快照”寄存器中;接下来的 PCA0H 读取访问此“快照”寄存器。首先读取 PCA0L 寄存器可确保准确读取整个 16 位 PCA0 计数器。”
但是,我没有找到关于 TMRnL 和 TMRnH 寄存器的类似声明。我记得在 Atmega128CAN90 上,我使用过以下
unsigned char chL,chH;
#asm("cli")
chL=TCNT3L;
chH=TCNT3H;
#asm("sei")
有人知道上述报价是否也适用于 C8051F120 的 TMRnL 和 TMRnH 寄存器吗?或者,什么是获得一致读数的安全方法?是否需要禁用中断?谢谢你的帮助!