mega2560与sim800c的串行通信中的问题

问题描述

我将Arduino Mega2560连接到SIM800C模块。当我用空白草图对Mega进行编程时,SIM800模块使用串行监视器(通过引脚0,1)响应at命令。 但是,当我将其连接到其他串行端口(如serial1)时,将at命令发送到SIM800,它可以接收并正常工作(我向手机发送了一些短信,并接收到了该消息),但是响应中包含一些无效字符。例如,当我发送AT时,它的十六进制格式响应如下: 505548A848F80(等效字符串:PUH¨Hø)

#define gsm Serial2
String Arsp,Grsp;

void setup() {
  Serial.begin(9600);
  Serial2.begin(9600);
}

void loop() {
  if(gsm.available())
  {
    //Grsp = gsm.readString();
    //char incomingByte;
    //incomingByte = gsm.read();

    // say what you got:
    //Serial.print("I received: ");
    //Serial.print(incomingByte,HEX);
    Serial.print(gsm.read(),HEX);
  }
  if(Serial.available())
  {
    Arsp = Serial.readString();
    Serial.print("Sent:");
    Serial.println(Arsp);
    gsm.println(Arsp);
  }
}

有人会帮助我吗? 谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)