реклама на сайте
подробности

 
 
> F147 - два таймера от разных частот
stalko
сообщение Sep 16 2009, 05:15
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762



С MSP430 в жизни работал мало... вероятно, где-то туплю... Пускаю таймер А от SMCLK, все идет на ура... после этого надо пустить тамер B от ACLK... тут происходит "затык"... стоит однажды контроллеру (F147) войти в прерывание таймера B, как все уходит в полный даун... даже в пустое... ради эксперимента пустил В от того же SMCLK, все работает прекрасно... уже перестраховался, чищу все регистры... странно как-то все это...
Вот код, может кто подскажет?
Код
void TimerInit(void)
{
// timer A init
TACCR2 = 0x00;
TACTL = TASSEL_2+TACLR;       // SMCLK, clear TAR, UP timer mode, int enable, /1
TACCTL0 |= CCIE;                      // CCR0 interrupt enabled
TACCTL1 = 0x00;
TACCTL2 = 0x00;
TACCR0 = SMCLK_FREQ_HZ/FREQ_INTERRUPT;
TACTL &= ~TAIFG;
TACCTL0 &= ~CCIFG;
TACTL |= MC_1+TAIE;
// timer B init
TBCCR2=0x00;
TBCTL = TBSSEL_1+TBCLR+ID_2;       // ACLK, clear TAR, UP timer mode, int enable, /4
TBCCTL0 |= CCIE;                      // CCR0 interrupt enabled
TBCCTL1 = 0x00;
TBCCTL2 = 0x00;
TBCCTL3 = 0x00;
TBCCTL4 = 0x00;
TBCCTL5 = 0x00;
TBCCTL6 = 0x00;
TBCCR0 = ACLK_FREQ_HZ;
TBCTL &= ~TBIFG;
TBCCTL0 &= ~CCIFG;
TBCTL |= MC_1+TBIE;
}

#pragma  vector=TIMERA0_VECTOR
__interrupt void Timer_A0_Int(void)
{
...
return;
}

#pragma  vector=TIMERB0_VECTOR
__interrupt void Timer_B0_Int(void)
{
...
  return;
}
Go to the top of the page
 
+Quote Post



Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 02:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016