Использовал пример. Частотата внешнего кварца 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 кГц.