Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > MSP430 - значение таймера А надо


Автор: Dmitron 28.3.2006, 19:02
Джентельмены, проясните или дайте пример кода,
Нужно по переднему фронту срабатывания компаратора вычитать данные из таймера А. У меня получился такой код:

// настройка компаратора
CACTL1 = CARSEL+CAREF1+CAON+CAIE;
CACTL2 = P2CA0+CAF;
// настройка таймера
TACTL = TASSEL1 + TACLR+ID0+ID1; // SMCK, clear TAR, devider=8
TACCTL1 = CCIE + CCIS0 + CM0 + CAP; /* прерывание, подключить вход capture к выходу таймера, захват по переднему фронту, capture mode
TACCR1 = 1000; /* регистр, в который по моей мысли должен сохраняться ТАR при срабатывании capture*/
flagCF=1; // флаг
TACTL |= MC0; // пуск таймера, и заряда ёмкости через резюк
while(flagCF); //ждём, пока что-нибудь не сработает
temp2 = TACCR1; // сохраняём
return (temp2);
}
// а вот и прерывания:
#pragma vector=TIMERA0_VECTOR
__interrupt void TA0_timer_ISR (void)
{
TACTL &= ~(MC0+MC1);
flagCF=0; // stop timer
}

#pragma vector=COMPARATORA_VECTOR
__interrupt void TA0_capture_ISR (void)
{
TACTL &= ~(MC0+MC1);
flagCF=0; // stop timer
}

Собственно, как это сделать чудесно расписано, но примера кода нигде нет. И я вроде как всё делаю правильно, таймер запускается, но в регистр не сохраняется. Что бы это могло быть?

Автор: Alex1984 29.3.2006, 08:46
CCIE - это разрешение прерывания?
В программе нужно разрешить срабатывания от прерывания, иногда задать приоритет прерывания, иногда он заранее установлен.
Может у тебя прерывания запрещены, или не работает стек

Автор: Dmitron 29.3.2006, 18:55
мимо

Автор: onetimer 30.5.2006, 18:05
А кто-нибудь подскажет живой и активный форум по 430? Думаю его попробовать, так хотел бы узнать у тех, кто уже набил шишки, про компиляторы, симуляторы,дебаггеры и т.п.
Спасибо 

Автор: Alexei 1.6.2006, 06:49
http://electronix.ru/forum/ 

Автор: onetimer 1.6.2006, 15:55
Спасибо.
А еще есть? Он все же очень далеко отстает от avrfreaks 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)