Tesztelek egy M590E gsm modult, akadt egy kis problémám, melyet a kódban jelöltem
A szám beállításánál és az sms szövegének írásánál ha a modem.print -et használom nem küldi el
A modem.write esetén pedig nem illeszti be az "i" értékét
Valami ötlete valakinek??
Kód: Egész kijelölése
#include <SoftwareSerial.h>
SoftwareSerial modem(7,8);
#define ModemOn 9
int i=10;
void setup() {
pinMode(13,OUTPUT);
pinMode(4,OUTPUT);
pinMode(ModemOn,OUTPUT);
Serial.begin(57600);
modem.begin(9600);
digitalWrite(ModemOn, HIGH);
delay(500);
digitalWrite(ModemOn, LOW);
Serial.println("M590E SMS");
delay(20000);
modem.println("AT+CREG?");
delay(300);
getRes();
modem.println("AT+CSQ");
delay(300);
getRes();
modem.println("AT+CMGF=1");
delay(300);
getRes();
modem.println("AT + CSCS=\"GSM\"");
delay(300);
getRes();
delay(4000);
modem.println("AT + CMGS=\"+36xxxxxxxx\"");
delay(300);
getRes();
modem.write("This is the SMS "); // Ha modem.print-et írok nem küldi el az sms-t
modem.write(i); // az i értékét így nem írja az sms-be
modem.write(26); // Ha modem.print-et írok nem küldi el az sms-t
delay(200);
getRes();
modem.println();
delay(8000);
digitalWrite(ModemOn, HIGH);
delay(500);
digitalWrite(ModemOn, LOW);
}
void getRes(){
while (modem.available()>0)
Serial.write(modem.read());
}
void loop() {
while (modem.available() > 0)
Serial.write(modem.read());
while (Serial.available() > 0)
modem.write(Serial.read());