问题描述
我正在使用 Arduino Mega 和 SIM7000E Arduino nb-iot/LTE/GPRS/GPS 扩展板。我试图在他们的 tuto 中运行 DFRobot 提供的示例,但在库中出现了一个缩小错误。在网络上,他们建议我更改代码以避免此问题,但由于它是一个库,我不应该弄乱它。有人有想法吗?
我正在使用 platformIO 集成 IDE 开发 VSCode。我的编译器是 gcc,我已经从 DFRobot_SIM7000 和 DFRobot_SIM
下载了两个使用过的库示例代码:
`#include <Wire.h>
#include <DFRobot_SIM7000.h>
#define PIN_TX 7
#define PIN_RX 8
SoftwareSerial mySerial(PIN_RX,PIN_TX);
DFRobot_SIM7000 sim7000;
static char buff[350];
void setup(){
int signalStrength,datanum;
Serial.begin(115200);
sim7000.begin(mySerial);
sim7000.turnOFF();
delay(5000);
Serial.println("Turn ON SIM7000......");
if(sim7000.turnON()){ //Turn ON SIM7000
Serial.println("Turn ON !");
}
Serial.println("Set baud rate......");
if(sim7000.setBaudrate(19200)){ //Set baud rate from 115200 to 19200
Serial.println("Set baud rate:19200");
}else{
Serial.println("Faile to set baud rate");
while(1);
}
Serial.println("Check SIM card......");
if(sim7000.checkSimstatus()){ //Check SIM card
Serial.println("SIM card READY");
}else{
Serial.println("SIM card ERROR");
while(1);
}
delay(500);
Serial.println("Set net mod......");
if(sim7000.setNetMode(NB)){ //Set net mod nb-iot
Serial.println("Set nb-iot mode");
}else{
Serial.println("Fail to set mode");
}
Serial.println("Get signal quality......");
delay(500);
signalStrength=sim7000.checkSignalQuality(); //Check signal quality from (0-30)
Serial.print("signalStrength =");
Serial.println(signalStrength);
delay(500);
Serial.println("Attaching service......");
if(sim7000.attacthService()){ //Open the connection
Serial.println("Attach service");
}else{
Serial.println("Fail to Attach service");
while(1);
}
delay(200);
Serial.println("Connecting......");
if(sim7000.openNetwork(TCP,"www.taobao.com",80)){ //Start Up TCP or UDP Connection
Serial.println("Connect OK");
}else{
Serial.println("Fail to connect");
while(1);
}
sim7000.send("HEAD/HTTP/1.1\r\nHost:www.taobao.com\r\nConnection:keep-alive\r\n\r\n"); //Send Data Through TCP or UDP Connection
datanum=sim7000.recv(buff,350,0); //Receive data
Serial.print("datanum=");
Serial.println(datanum);
Serial.println(buff);
delay(500);
if(sim7000.closeNetwork()){ //End the connection
Serial.println("Close connection");
}else{
Serial.println("Fail to close connection");
}
delay(2000);
sim7000.turnOFF(); //Turn OFF SIM7000
}
void loop() {
delay(1000);
}`
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp: In member function 'bool DFRobot_SIM7000::mqttConnect(char*,char*,char*)':
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp:312:77: error: narrowing conversion of '194' from 'int' to 'char' inside { } [-Wnarrowing]
char MQTThead[10]={0x00,0x04,0x4d,0x51,0x54,0xc2,0x0b,0xb8};
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp:312:77: error: narrowing conversion of '184' from 'int' to 'char' inside { } [-Wnarrowing]
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp: In member function 'bool DFRobot_SIM7000::mqttdisconnect()':
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp:427:40: error: narrowing conversion of '224' from 'int' to 'char' inside { } [-Wnarrowing]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)