TOP

Why read T1C values wrong when using SN8P2308 RFC function?

TC1 is a 16bit counter, when reading T1C value, user must read T1CH first, and then read T1CL, or the obtained data may be wrong. Correct operation procedures is as shown below:

B0MOV A,T1CH ; if T1C value is 55AAH
B0MOV TEMP1,A

B0MOV A,T1CL
B0MOV TEMP2,A ; then the results read out is TEMP1 = 55H TEMP2 = AAH

In addition, T1C write operation is just the opposite with read operation, user must write T1CL first, and then write T1CH, or it will also lead to write data error. Correct operation procedures is as shown below:
MOV A, #0 ; clear T1C
B0MOV T1CL, A
B0MOV T1CH, A

For T1 related operations, please refer to "T1CH, T1CL COUNTING REGISTER" section in 2308 datasheet.