Показать сообщение отдельно
Старый 31.01.2012, 12:08   #947   
Форумец
 
Сообщений: 88
Регистрация: 04.02.2011
Возраст: 46

Teeen вне форума Не в сети
petrd, здравствуйте! Подскажите пожалуйста, а то не могу понять причину, пишу в переменную ModemAnswer принятые байты и сразу же посылаю их обратно - все нормально, но после передачи, когда нажимаю кнопку, повешанную на RA1_bit хочу считать ранее принятые байты, то получается ерунда в ответе. Почему так? Из-за неверно используемой переменной ModemAnswer?

Код:
  unsigned char *ModemAnswer[16];   // Ответ модема на команды
  ...
  // Главный цикл
  do {
     if (!RA0_bit){Send2_SMS();}     // Отправляем СМС
     if (!RA1_bit){                             // Читаем ответ модема
       UART1_Write_Text(ModemAnswer);
       delay_ms(200);
     }

     if (UART1_Data_Ready()==1){
       receive=UART1_Read();         
       if (receive != 0x0D && receive != 0x0A){
         i++;
         ModemAnswer[i]=receive;
         UART1_Write(ModemAnswer[i]);
       }
     }
     else{i=0;}
  }// end do
  while (1);
}// end main
//------------------------------------------------------------------------------
  Ответить с цитированием