Как-то обращался с этим вопросом на форуме, но никто не ответил. Решил оставить на потом. Все уже сделал с контроллером, что хотел, довольно-таки легко. И вот, "потом" наступил. Уже 3 дня мучаю - ни тпру, ни ну. Понимаю, что где-то галочку поставить надо, но где и какую?
Никак не получается аппаратно подсчитать внешние события (частотомер) на входе CAP2.1. Частота до 50 кГц. Программно сделал по этому же входу (P0.5 или P2.15) - работает, но это же не правильно при наличии аппаратных возможностей! Инициализация такая:
Код
void Init_TIMER2(void)
{
PCONP |= (1 << 22);
PINSEL4_bit.P2_15 = 0x10;
PINMODE4_bit.P2_15 = 0x10;
// PINSEL0_bit.P0_5 = 0x11;
// PINMODE0_bit.P0_5 = 0x10;
T2TCR = 2; // Reset timer 2.
T2CTCR = 5; // Set external clock CAP2.1.
T2PR = 0; // Prescaler is set to division.
T2PC = 0;
T2MCR = 0;
T2CCR = 0; // Capture is disabled.
T2EMR = 0; // No external match output.
T2TCR = 1; // Start timer.
}
{
PCONP |= (1 << 22);
PINSEL4_bit.P2_15 = 0x10;
PINMODE4_bit.P2_15 = 0x10;
// PINSEL0_bit.P0_5 = 0x11;
// PINMODE0_bit.P0_5 = 0x10;
T2TCR = 2; // Reset timer 2.
T2CTCR = 5; // Set external clock CAP2.1.
T2PR = 0; // Prescaler is set to division.
T2PC = 0;
T2MCR = 0;
T2CCR = 0; // Capture is disabled.
T2EMR = 0; // No external match output.
T2TCR = 1; // Start timer.
}
Прошу помочь.