|
нашел ошибку, для Timer_A вектор переполнения будет выглядеть как #pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A (void)
{
led_tgl;
}
теперь если смотреть по осцилу. то видно что период переключения led_tgl; примерно 4 uS, хотя должно быть 65 mS (8MHz при 1:8). Оказалось что флаг TAIFG не сбрасывается автоматически !!!!
ведь по DS он должен обнулятся !
если в ISR прописать
{
led_tgl;
TACTL &= ~TAIFG;
}
то все зашибись, но вопрос об необнулении флага остается непонятен.
Вот вырезка из GUDIE 430x1xx (2.2.3 Interrupt Processing)
5) The interrupt request flag resets automatically on single-source flags. Multiple source flags remain set for servicing by software.
как бы все соблюдено....
E-mail: info@telesys.ru