程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了DFRobot SIM7000 库未编译 - Wnarrowing 错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决DFRobot SIM7000 库未编译 - Wnarrowing 错误?

开发过程中遇到DFRobot SIM7000 库未编译 - Wnarrowing 错误的问题如何解决?下面主要结合日常开发的经验,给出你关于DFRobot SIM7000 库未编译 - Wnarrowing 错误的解决方法建议,希望对你解决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 (将#修改为@)

@H_197_27@

大佬总结

以上是大佬教程为你收集整理的DFRobot SIM7000 库未编译 - Wnarrowing 错误全部内容,希望文章能够帮你解决DFRobot SIM7000 库未编译 - Wnarrowing 错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。