Техническое описание моего микроконтроллера C8051F120 ясно, когда дело доходит до чтения 16-битного значения PCA0L и PCA0H:
"Чтение PCA0L автоматически фиксирует значение PCA0H в регистре "моментального снимка"; следующее чтение PCA0H обращается к этому регистру "моментального снимка". Чтение сначала регистра PCA0L гарантирует точное считывание всего 16-битного счетчика PCA0."< /эм>
Однако я не нашел аналогичного утверждения относительно регистров TMRnL и TMRnH. Я помню на Atmega128CAN90, я использовал следующее
unsigned char chL,chH;
#asm("cli")
chL=TCNT3L;
chH=TCNT3H;
#asm("sei")
Кто-нибудь знает, верна ли приведенная выше цитата для регистров TMRnL и TMRnH C8051F120? Или, каков безопасный способ получить последовательное чтение? Нужно ли отключать прерывания? Спасибо за вашу помощь!