Доброго времени суток!
Имеется контроллер PIC18F45K22, на борту три одинаковых 8-разрядных таймера (TMR2, TMR4, TMR6) и три одинаковых 16-разрядных таймера (TMR1, TMR3, TMR5).
Пишу код (компилятор MCC18, отладчик Model SIM):
Код
PR2 = 0xA0;
PR4 = 0xA0;
PR6 = 0xA0;
T2CON = 0b00000100;
T4CON = 0b00000100;
T6CON = 0b00000100;
while(1);
и второй вариант
Код
T1CON = 0;
T1CONbits.T1CKPS = 0x03;
TMR1H = 0xB1;
TMR1L = 0xF1;
T3CON = 0;
T3CONbits.T3CKPS = 0x03;
TMR3H = 0xB1;
TMR3L = 0xF1;
T5CON = 0;
T5CONbits.T5CKPS = 0x03;
TMR5H = 0xB1;
TMR5L = 0xF1;
T1CONbits.TMR1ON = 1;
T3CONbits.TMR3ON = 1;
T5CONbits.TMR5ON = 1;
while(1);
И Model SIM, и реальный контроллер ведут себя одинаково. В первом случае запускается только TMR2, а 4 и 6 как мертвые, во втором запускаются TMR1 и 3, а 5 полный молчок.
Такому поведению есть какое-нибудь объяснение? Может я что-то упустил?