Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino GSM模块返回“&引用;问号字符_Arduino_Gsm_Gprs - Fatal编程技术网

Arduino GSM模块返回“&引用;问号字符

Arduino GSM模块返回“&引用;问号字符,arduino,gsm,gprs,Arduino,Gsm,Gprs,我刚刚连接了一个A6 GSM模块,并编写了一个代码,通过以9600波特率连接的串行监视器与之交互。但是角色“?”总是不停地出现,其他的都不起作用 这是我的密码: #include<SoftwareSerial.h> SoftwareSerial gprs(8, 9); void setup(){ gprs.begin(9600); Serial.begin(9600); } void loop(){ while (gprs.available()) Seri

我刚刚连接了一个A6 GSM模块,并编写了一个代码,通过以9600波特率连接的串行监视器与之交互。但是角色“?”总是不停地出现,其他的都不起作用

这是我的密码:

#include<SoftwareSerial.h>

SoftwareSerial gprs(8, 9);

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

void loop(){
  while (gprs.available())
    Serial.write(gprs.read());

  while (Serial.available())
    gprs.write(Serial.read());
}
#包括
软件串行gprs(8,9);
无效设置(){
gprs.begin(9600);
Serial.begin(9600);
}
void循环(){
while(gprs.available())
Serial.write(gprs.read());
while(Serial.available())
gprs.write(Serial.read());
}

我后来发现您应该以115200波特率连接它,如果您想更改波特率,请在使用默认波特率时命令它这样做

AT+IPR=9600   -- to change it
AT&W          -- to save the change
如果使用串行软件,降低波特率是至关重要的。
(第二个命令应在9600重新连接后发送,因为第一个命令更改波特率)

您接地了吗?@Juraj是的,arduino和gsm接地都已连接到电源接地。我似乎模糊地记得A6 gsm模块在出厂时被设置为115200波特。不确定,但你可以试试波特率,看看会发生什么。还有,你穿过TX和RX线路了吗?@ocrdu谢谢,这就是我的工作方式。