LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: sergiotux 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 (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());
}
-
Caros, baixei o baude rate e ok.
abraços.
-
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
-
Olá Armgomes, desculpe a demora, estive fora.
Muito obrigado pela dica, vou testar, por hora resolvi baixando o baud.
Muito obrigado
Sérgio