collapse

* Links de Robótica

* Posts Recentes

Feira de electricidade e eletrónica por artur36
[Ontem às 23:07]


Power_OK Enermax por almamater
[Ontem às 12:10]


Recomendação de um opamp para um DAC r2r por jm_araujo
[23 de Novembro de 2017, 10:48]


RN42 e TP-Link MR3020 por doiga
[22 de Novembro de 2017, 19:22]


Ajuda Projecto IR / RF por senso
[22 de Novembro de 2017, 13:15]


Ideias para construir um quadrúpede simples por dropes
[21 de Novembro de 2017, 22:43]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]

Autor Tópico: AT+CMGR, lendo mensagem incompleta.  (Lida 2144 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline sergiotux

  • Mini Robot
  • *
  • Mensagens: 19
AT+CMGR, lendo mensagem incompleta.
« em: 19 de Outubro de 2012, 03:49 »
Olá, por favor

Eu estou trabalhando com o Arduino e GPRS.
Estou enviando comandos AT manualmente.
Quando eu leio mensagens com AT+CMGR aparece apenas alguns caracteres do início do texto.

SoftwareSerial está definido para os pinos 2 e 3.
Quando mudo para pinos hardwareserial 0 e 1, funciona bem.

Alguém pode me ajudar? Eu preciso usar o SoftwareSerial.

É possível ser um problema com a lib SoftwareSerial.h?

Abaixo seguem algumas informações...

Muito obrigado.

Sérgio

------ Hardware
- Arduino duemilanove
- Shild GPRS com SIM900 (http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield).

-------Mensagem
sms with error - SoftwareSerial mySerial(2, 3);

+CMGR: "REC READ","011981510340","","12/10/18,19:23:14-12"
Ola a

sms ok - SoftwareSerial mySerial(0, 1);

+CMGR: "REC READ","011981510340","","12/10/18,19:23:14-12"
Ola a todos, como vão?

--------Código
//Serial Relay - Arduino will patch a
//serial link between the computer and the GPRS Shield
//at 19200 bps 8-N-1
//Computer is connected to Hardware UART
//GPRS Shield is connected to the Software UART
 
#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(2, 3);
 
void setup()
{
  mySerial.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);                 // the GPRS baud rate   
}
 
void loop()
{
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read()); 
}

Offline sergiotux

  • Mini Robot
  • *
  • Mensagens: 19
Re: AT+CMGR, lendo mensagem incompleta.
« Responder #1 em: 27 de Outubro de 2012, 20:00 »
Caros, baixei o baude rate e ok.
abraços.

Offline armgomes

  • Mini Robot
  • *
  • Mensagens: 1
Re: AT+CMGR, lendo mensagem incompleta.
« Responder #2 em: 02 de Janeiro de 2013, 01:02 »
Olá Sergio!

A solução do seu problema está no arquivo "SoftwareSerial.h", localize a seguinte definição:
"#define _SS_MAX_RX_BUFF 64 // RX buffer size".

Altere buffer de 64 para 256 para ler o restante da mensagem!

Segue o teste utilizando o SoftwareSerial:

AT+CMGR=6

+CMGR: "REC UNREAD","+55**********","","13/01/01,22:45:30-08"
Lei da Ficha Limpa impede posse de prefeitos em dezenas de municipios
Em parte das cidades, foi o presidente da camara dos vereadores quem assumiu.
01/01

OK

Obs: Alterando para 256 a mensagem recebida teve151 caracteres de texto. Este valor está próximo dos 160 caracteres antes da quebra para a próxima mensagem. Lembrando que os bytes anteriores também são levados em consideração na totalidade "+CMGR: "REC UNREAD","+55...".

Espero ter ajudado!

Abs

Offline sergiotux

  • Mini Robot
  • *
  • Mensagens: 19
Re: AT+CMGR, lendo mensagem incompleta.
« Responder #3 em: 07 de Fevereiro de 2013, 19:08 »
Olá Armgomes, desculpe a demora, estive fora.

Muito obrigado pela dica, vou testar, por hora resolvi baixando o baud.

Muito obrigado

Sérgio