大佬教程收集整理的这篇文章主要介绍了DFRobot SIM7000 库未编译 - Wnarrowing 错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 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 (将#修改为@)
以上是大佬教程为你收集整理的DFRobot SIM7000 库未编译 - Wnarrowing 错误全部内容,希望文章能够帮你解决DFRobot SIM7000 库未编译 - Wnarrowing 错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。