18F芯片的16bit定时器(T1,3,5等)都有一个协助原子操作读写TMRxH:TMRxL的设定TXCON.bit1(TxRD16),
实现方法是通过读写TMRxL触发TMRxH缓冲
那么读时序就要求先读TMRxL,再读TMRxH,写时序即要求先写TMRxH,再写TMRxL
新的XC8 在h文件中对很多大于8bit且遵循小端地址顺序的模块寄存器都定义成16bit模式,如定时器,捕捉,AD结果和E2地址和部分的USART的波特率设定等, 这方便了程序书写,
不知道在使能了定时器的16B读写模式时使用TMRx (unsigned short)这种方式,XC8能不能完美兼容呢
当年使用C51操作C8051F020的DAC时,被这个坑害的很惨,现在都铭记于心 |