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

 
 
> MSP430F2132. Нежелательное срабатывание прерывания от порта P1
Зураб
сообщение Aug 15 2010, 19:41
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 11-11-07
Пользователь №: 32 244



Снова здравствуйте!
Сразу по сути. Имеется ножка P1.0, сконфигурированная как вход и включен внутренний резистор pullup на ней. На эту ногу поступает сигнал с другого девайса, который выдает при включении лог.0. Необходимо произвести прерывание при перепаде на P1.0 из лог.1 в лог.0, при выполнении которого (для примера) выставляет на ноге P2.0 лог.1, при этом P2.0 сконфигурирован как выход со значением лог.0 при включении. Проблема в том, что при включении P2.0 выдаёт лог.1. Видимо сразу при включении срабатывает прерывание от порта P1. Как этого избежать? Может я что-то не так конфигурирую? Код ниже:
Код
void main(void){
  WDTCTL = WDTPW+WDTHOLD; //отключение watchdog
  P1DIR = 0xFE;
  P1OUT = 0x00;
  P1REN = 0x01;
  P2DIR = 0x03;                            
  P2OUT = 0x02;
  P2REN = 0x20;
  IE1 |= OFIE + WDTIE;  // разрешить прерывание от детектора ошибки резонатора
  IFG1 |= OFIFG;
  uart_init();
  P1IES = 0x01;
  P1IE = 0x01;
  P1IFG = 0;  
  __bis_SR_register(GIE);
  while(1){
  .................
}
}

#pragma vector=PORT1_VECTOR
__interrupt void DISCONNECTED(void)
{
  P1IFG=0;
  P2OUT|=BIT0;
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ko4egap
сообщение Aug 16 2010, 07:11
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 17-09-09
Пользователь №: 52 434



Во первых, в прерывании непомешает проверить действительно ли на нужной ноге нужный уровень.
Во вторых, скорее всего вам нет смысла использовать здесь прерывания, я думаю достаточно банального опроса. Прерывание нужно чтобы вернуть из энергосберегающего режима, или когда нужна быстрая реакция.
Соглашусь с _3m, задержка здесь нужна

Сообщение отредактировал Ko4egap - Aug 16 2010, 07:12
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 17:56
Рейтинг@Mail.ru


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