MSP430 внешние прерывание

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
slava 1
Родился
Сообщения: 12
Зарегистрирован: Пт авг 19, 2011 01:21:24

MSP430 внешние прерывание

Сообщение slava 1 »

Здраствуйте я только начинаю изучать МК MSP430 посоветуйте как реализовать( сконфигурировать параметри МК ) на внешние прерывание по обеим фронтам , то есть к примеру подключена кнопка если нажать загораетса светодиод если отпустить светодиод гаснет , привожу пример кода , он не мой взят из одного из сайтов.



#include <msp430g2553.h>


void main()
{
WDTCTL = WDTPW + WDTHOLD;

P1DIR &= ~BIT2;
P1REN |= BIT2;

P1IE |= BIT2; // Разрешение прерываний на P1.2
P1IES |= BIT2; // Прерывание происходит по 1/0 (отпусканию/нажатию)
P1IFG &= ~BIT2; // Очистка флага прерываний для P1.2

P1DIR |= BIT1;

P1OUT &= ~BIT1;
__bis_SR_register(GIE); // Установка флага глобального разрешения прерываний

while(true);
}

#pragma vector=PORT1_VECTOR
__interrupt void P1INT() // Обработчик прерывания
{
P1IE &= ~BIT2; // Запрет прерываний на P1.2

P1OUT |=BIT1;


for(volatile unsigned int i = 30000; i != 0; i--); // Задержка
P1IE |= BIT2; // Разрешение прерываний на P1.2
P1IFG &= ~BIT2; // Очистка флага прерываний для P1.2


}
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: MSP430 внешние прерывание

Сообщение YS »

Вы бы хоть конкретный кристалл указали. А то например для G-серии - никак. Там только по убывающему либо возрастающему фронту.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
slava 1
Родился
Сообщения: 12
Зарегистрирован: Пт авг 19, 2011 01:21:24

Re: MSP430 внешние прерывание

Сообщение slava 1 »

кристал указан в исходнике MSP430G2553 , жаль конечно ,,,
Аватара пользователя
Дмитрий
Сверлит текстолит когтями
Сообщения: 1219
Зарегистрирован: Вс сен 25, 2005 10:07:31
Откуда: Россия.
Контактная информация:

Re: MSP430 внешние прерывание

Сообщение Дмитрий »

slava 1 писал(а):кнопка если нажать загораетса светодиод если отпустить светодиод гаснет
Тогда сделайте так. :)))

Изображение
Реклама
Эиком - электронные компоненты и радиодетали
slava 1
Родился
Сообщения: 12
Зарегистрирован: Пт авг 19, 2011 01:21:24

Re: MSP430 внешние прерывание

Сообщение slava 1 »

"Дмитрий"
С удовольствием так поступил би , но надо отлеживать состояние пина и в случае изменения уровня на пине контролер должен проснутса из спячки и отреагировать" действием " (в зависимости от того по какому фронту било произведено преривание )
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: MSP430 внешние прерывание

Сообщение YS »

Запараллельте две ножки, одну настройте на передний фронт, другую на задний.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: MSP430 внешние прерывание

Сообщение Ser60 »

... или после того как принято прерывание по одному фронту в обработчике прерываний переконфигурируйте железо на прием прерываний по другому фронту.
slava 1
Родился
Сообщения: 12
Зарегистрирован: Пт авг 19, 2011 01:21:24

Re: MSP430 внешние прерывание

Сообщение slava 1 »

"YS" так не получетса потому что все порти заняти


"Ser60" спасибо за идею завтра попробую отпишусь ,
slava 1
Родился
Сообщения: 12
Зарегистрирован: Пт авг 19, 2011 01:21:24

Re: MSP430 внешние прерывание

Сообщение slava 1 »

Проблему решил вставив в код "P1IES^=BIT2" всем кто откликнулса большое спасибо , особенно "Ser60" за подсказку , тему можно закривать . :))
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: MSP430 внешние прерывание

Сообщение Ser60 »

Согласно ДШ, при изменении P1IES может возникнуть флаг прерывания от порта. Я-бы посоветовал в любом случае гасить флаг прерывания при смене этого бита. Для приложений с кнопкой гашение флага реально не приведет к потери события.
slava 1
Родился
Сообщения: 12
Зарегистрирован: Пт авг 19, 2011 01:21:24

Re: MSP430 внешние прерывание

Сообщение slava 1 »

"Ser60" спасибо учту
Ответить

Вернуться в «Разные вопросы по МК»