6799| 9
|
[求助] WIDO板子测试AT命令不好用 |
我用WIDO板子+sim7000c 测试AT命令不好用。 用的如下的示例。没有反馈呀 /*! * @file DFRobot_SIM7000_ATtest.ino * @N SIM7000 needs 7-12V DC power supply * @brief This example use the serial port to send AT command to control the SIM7000 * @n With initialization completed, we can enter AT command to SIM7000 directly * @n Common AT commands : * @n AT+CPIN? : Check SIM card * @n AT+CSQ : Check signal quality * @n AT+CGATT?: Check net attached state * @n AT+CSTT : Start net connect task * @n AT+CIFSR : Get local IP * * @n Get the AT command table in Resource folder :SIM7000 Series_AT Command Manual_V1.01.pdf * @n If you use Mega please connect PIN8 PIN10 and set PIN_RX = 10 * @n The AT command must end with CRLF * * @copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com) * @license The MIT License (MIT) * @author [TangJie](jie.tang@dfrobot.com) * @version V1.0.1 * @date 2021-09-16 * @url https://github.com/DFRobot/DFRobot_SIM7000 */ #include <DFRobot_SIM7000.h> #define PIN_TX 7 #define PIN_RX 8 SoftwareSerial mySerial(PIN_RX,PIN_TX); DFRobot_SIM7000 sim7000(&mySerial); void setup() { Serial.begin(115200); mySerial.begin(19200); Serial.println("Turn ON SIM7000......"); if(sim7000.turnON()){ //Turn ON SIM7000 Serial.println("Turn ON !"); } Serial.println("Set baud rate......"); while(1){ if(sim7000.setBaudRate(19200)){ //Set SIM7000 baud rate from 115200 to 19200 reduce the baud rate to avoid distortion Serial.println("Set baud rate:19200"); break; }else{ Serial.println("Faile to set baud rate"); delay(1000); } } mySerial.begin(19200); Serial.println("For example, if you type AT\\r\\n, OK\\r\\n will be responsed!"); Serial.println("Enter your AT command :"); } void loop() { mySerial.listen(); while(mySerial.available()){ Serial.write(mySerial.read()); } mySerial.flush(); while(Serial.available()){ mySerial.write(Serial.read()); } delay(20); } |
本帖最后由 头疼欲裂 于 2022-8-24 12:57 编辑 现在我的sim7000c在启动打开阶段不太稳定,有时候sim7000c.TurnON都没执行通过,后续波特率更没有设置上了。但有的时候就可以打开,我把12脚的的启动的时间改为了2秒,有的时候就好用了。 看了SIM7000C里面的程序,checkSendCmd和sendCmd的具体内容是啥。 bool DFRobot_SIM7000::turnON(void) { pinMode(12,OUTPUT); if(checkSendCmd("AT\r\n", "OK", 100)){ sendCmd("AT+CPOWD=1\r\n"); delay(4000); } delay(100); digitalWrite(12, HIGH); delay(1000); digitalWrite(12, LOW); delay(7000); if(checkSendCmd("AT\r\n", "OK", 100)){ return true; }else{ return false; } } |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed