ArduinoでATコマンドの出力をキャプチャするにはどうすればよいですか?ArduinoでATコマンドの出力を読み取るにはどうすればよいですか?
私はArduino Uno R3にGSMシールドを使用しています。私はすべてのATコマンド(they can be seen here)を持っており、端末を使用して出力を取得すれば、それらを入力することができます。しかし、結果の出力をコードでどのようにキャプチャできますか?以下のコードは私が試したことを示していますが、うまくいきません。特に私がアナログ入力を取得してその結果を印刷しようとするところでは。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8);
void setup()
{
char sensorValue[32] ="";
Serial.begin(9600);
mySerial.begin(9600);
Serial.println("\r");
//Wait for a second while the modem sends an "OK"
delay(1000);
//Because we want to send the SMS in text mode
Serial.println("AT+CMGF=1\r");
delay(1000);
mySerial.println("AT+CADC?"); //Query the analog input for data
Serial.println(Serial.available());
Serial.println(Serial.read()); //Print out result???
//Start accepting the text for the message
//to be sent to the number specified.
//Replace this number with the target mobile number.
Serial.println("AT+CMGS=\"+MSISDN\"\r");
delay(1000);
Serial.println("!"); //The text for the message
delay(1000);
Serial.write(26); //Equivalent to sending Ctrl+Z
}
void loop()
{
/*
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
*/
}
私は出力を得る:+ CADC AT = 1
+ CMGF AT
? 21 13
または+ CADC AT + CMGF = 1
AT
? 18 65
かかわらず、私のアナログソースの変更の
私はちょっと違った方法でコードを作り直して読み込みましたが、ちょうど入力したコマンドが戻ってきましたが、コマンドが返す結果を得るにはどうしたらいいですか? – BOMEz
あなたは可用性をテストし、myserialから読んでください。 –