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

 
 
> 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



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:47
Рейтинг@Mail.ru


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