Sim800c не получает полного SMS

#arduino #stm32 #microcontroller #sim800

#arduino #stm32 #микроконтроллер #sim800

Вопрос:

Я использую модуль sim800c, подключенный к плате разработки stm32 «bluepill». Я пытаюсь получить SMS для последующего анализа. Вот мой код:

     while(sim800C.available()>0){       
        delay(1000);        
        Received_SMS=sim800A.readString();  
        Serial.print(Received_SMS);}
 

Однако строка «Received_SMS», похоже, не содержит полного сообщения, вывод которого:

  CMT: "(number hidden for privacy)","","20/12/03,08:08:54 14"
063306440627

 

Отправленное sms намного длиннее, чем показано.
Я использую AT CSCS="IRA" , но даже если я изменю эту команду AT, результат, похоже, имеет постоянную длину, недостаточную для полного sms.

Спасибо, что прочитали вопрос, с уважением.

Комментарии:

1. Вам нужно прочитать больше строк. Текст находится после строки CMT.

2. Это точно! вопрос заключался в том, «как» прочитать эти строки.

Ответ №1:

Вот как я решил проблему:

     if(sim800A.available()>0){
      while(sim800A.available()>0){
         Received_SMS=sim800A.readString();
      }
    }
 

Итак, мы должны поместить наш процесс в «если», а затем в «пока».