Перейти к содержанию
    

MSP430 в режиме захвата не происходит прерывание

Добрый день!

 

Подскажите, пожалуйста, почему в режиме захвата не происходит прерывание?

Вот листинг:

void main(void)

{

//Использование ножки P4.0 Таймер В

P4SEL=BIT0;

//Использование ножки Р1.0 Светодиод

P1DIR |= BIT0;

P1SEL|=BIT0;

P1DIR &= ~BIT0;

timerB_init();

_BIS_SR(LPM0_bits+GIE);

}

 

void timerB_init()

{

TBCTL=MC_2+TBSSEL_1+TBCLR+TBIFG;

TBCCTL0=CM_1+SCS+CCIS_1+CAP+CCIE;

}

#pragma vector = TIMERB0_VECTOR

__interrupt void TIMERB0_VECTOR_ISR (void)

{

P1OUT &= ~0x01;

 

}

 

В чем может быть проблема? Хочу, чтобы при каждом прерывании горел светодиод, но при шаговой проверке программа не переходит в вектор прерывания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

 

Чтобы прерывания происходили их надо разрешить в этой сторочке

TBCTL=MC_2+TBSSEL_1+TBCLR+TBIFG

Вместо TBIFG нужно поставить бит TBIE

 

И описание прерывания немного по другому выглядит, потому что у таймера В 2 прерывания (хотя может для какого-то кристалла может быть и так, как у вас)

#pragma vector=TIMER0_B0_VECTOR
__interrupt void TIMER0_B0_ISR(void)

 

Удачи в изысканиях :-)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день,

 

Большое спасибо за ответ!

 

Добавил бит, но все равно не получается зайти в прерывание(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...