Использовал пример. Частотата внешнего кварца 8 Мгц. Необходимо сформировать аппаратно на пине процессора 130 кГц.
Выполнил настройку таймера и источника тактовых сигналов. До частот ~40-50 кГц - нормальный меандр на выходе. Но при частотатах выше - полные чудеса: фронты расщепляются на импульсы и на других незадействованных выходах появляются импульсы от задействованного таймера.
// P1.1/TA0|--> TACCR0 // P1.2/TA1|--> TACCR1 // P1.3/TA2|--> TACCR2
// Timer A0 interrupt service routine #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A0(void) { TACCR0 += 200; // Add Offset to TACCR0 }
// Timer_A3 Interrupt Vector (TAIV) handler #pragma vector=TIMERA1_VECTOR __interrupt void Timer_A1(void) { switch (TAIV) // Efficient switch-implementation { case 2: TACCR1 += 1000; // Add Offset to TACCR1 break; case 4: TACCR2 += 10000; // Add Offset to TACCR2 break; case 10: P1OUT ^= 0x01; // Timer_A3 overflow break; } }
Как лечить не знаю. Пришлось программно выполнить формирование 130 кГц.
|