MSP430F133 need help !!!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено incognito 09 апреля 2004 г. 21:14

я начинающий в этих делах с МСП (3 день как осваиваю) так что не сорри за тупые вопросы..

1) счетчик тймера А почему-то не симулируется (при FET считает), мож это только у меня так ?
2) хотел изучить прерывания и слепил прогу : прерывание при переполнении таймера А. флаг TAIFG при переполнении устанавливается а подпрогр. обработки не вызывается/ Сложилось такое впечатление что с адресами векторов напортачил.

вообщем подскажите плз. что я тут не так сделал ?
IAR v3.10a trial


void init(void)
{
unsigned int i;
WDTCTL = WDTPW + WDTCNTCL + WDTHOLD; // WDT is off

// Oscillator
DCOCTL = DCO2 + DCO1; // DCOCLK ~ 1 MHz
BCSCTL1 = RSEL2 + XTS + XT2OFF; // LFXT1 High freq mode, XT2 is Off
do
{
IFG1 &= ~OFIFG; for (i=0xFF; i>0; i--);
}
while ((IFG1 & OFIFG) != 0); // OSCFault flag still set?
BCSCTL2 |= SELM1 + SELM0; // MCLK=LFXT1CLK, SMCLK=DCOCLK

// TIMER A - типа 32 mS
TACTL = TASSEL1 + ID1 + ID0 + MC1 + TAIE; // ACLK, TAIE, 1:8
_EINT(); // Enable interrupts

// PINs
P1OUT = 0x00;
P1DIR = BIT5 + BIT6;

_NOP(); // Breakpoint, required only for C-spy

P5OUT = 0x00;
P5DIR = BIT4 + BIT5 + BIT6;
P5SEL = BIT4 + BIT5 + BIT6;
}


Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
if (TAIV==10) g_led_tgl;
_NOP(); // Breakpoint, required only for C-spy
}

void main(void)
{
init();
while(1);
}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru