首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino纳米Gnss软件系列

Arduino纳米Gnss软件系列
EN

Stack Overflow用户
提问于 2017-05-29 19:32:50
回答 1查看 787关注 0票数 0

我想连接Arduino nano和GNSS (SIMCom的SIM33ELA独立GNSS模块)。

首先,我为rx/tx编写了一个程序,它工作得很好,但是现在我想使用Software,我得到了一些错误的数据。

代码语言:javascript
复制
#include <SoftwareSerial.h>
char incomingByte;   // for incoming serial data
double tbs;
SoftwareSerial mySerial(8, 9); // RX, TX
void setup() {
   Serial.begin(115200);     
   while (!Serial) {    
  }
  mySerial.begin(115200);
  while (!mySerial) {
    
  } 
}

void loop() {
    if (mySerial.available()) {
      tbs = mySerial.read();
      incomingByte = (char)tbs;
     Serial.print(incomingByte);
    }

   /*if (Serial.available() > 0) {        
      incomingByte = Serial.read();            
      Serial.print(incomingByte);              
      }*/
        
}

知道吗?

关于结果的图片:

软件串行错误数据

良好的串行数据

EN

回答 1

Stack Overflow用户

发布于 2017-05-30 02:31:51

大多数情况下,不要将一个字符读入double浮点变量.就这么做吧:

代码语言:javascript
复制
void loop()
{
  if (mySerial.available()) {
    char c = mySerial.read();
    Serial.write( c );
  }
}

您还应该在这两个引脚上使用AltSoftSerial。SoftwareSerial效率很低,因为它在很长一段时间内禁用中断。它不能同时发送和接收。事实上,当一个字符被传送或接收时,Arduino不能做任何其他的事情。

对于GPS库,您可以尝试NeoGPS。这是唯一一个可以解析最新设备句子的Arduino库。它也比所有其他库更小、更快、更可靠和更精确。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44249368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档