【问题标题】:Arduino: How to get Data from RX pinArduino:如何从 RX 引脚获取数据
【发布时间】:2018-12-24 04:50:39
【问题描述】:

我正在尝试通过串行连接将 U-blox C94-M8P 开发板连接到 LinkIt One。我找到了几种方法来做到这一点,但它们似乎都不起作用。虽然我不得不说,我曾经设法将两块板连接在一起并且它工作了,这意味着 M8P 将 GPS 数据发送到我的 LinkIt ......但是因为在连接板时天线不工作,我再次断开它并且忘了我是怎么做到的...

现在,我将 RX、TX、GND 和 3.3V 连接到J4 Connector (第 21 页),LinkIt 上用于 TX 和 RX 的 LED 正在发光,所以我认为应该有连接并且可以接收数据。虽然当我尝试建立 Serial1 连接时,它总是失败。 这是我的 LinkIt 代码,有多种输出信号的可能方式......它们都不起作用:

#include <UARTClass.h>
#include <string.h>


void setup(){
  Serial.begin(9600);
  Serial.println("Serial begins");

  Serial1.begin(9600);
  //Serial1.end();
  pinMode(13, OUTPUT);
  pinMode(0,INPUT);

  Serial.write(analogRead(0));

  if(Serial1.available()>0){
    Serial.println(Serial1.available());
    digitalWrite(13, HIGH);
    delay(1000);
    digitalWrite(13, LOW);
    delay(1000);
    Serial1.write("Hello World");
  }
  else{
    Serial.println("No Serial1 available");
    digitalWrite(13, HIGH);
  }
}

void loop(){
  if(Serial1.available()>0){
    Serial1.begin(9600);    
    //Serial.write(Serial1.read());
    String msg=Serial1.readString();
    //char* token=strtok(msg, '$');
    //Serial.println(msg);
    Serial.println(analogRead(0));
    delay(5000);
  }
  else{
    Serial.println("No Serial1 available");
    digitalWrite(13, HIGH);
    //for(int i = 0; i<7;i++){
    //Serial.print(analogRead(0));
    //}
    Serial.println(analogRead(0));
   // delay(5000);
  }
}

我的输出如下所示:

832
No Serial1 available
832
No Serial1 available
832
No Serial1 available
832
No Serial1 available
832
No Serial1 available
832
No Serial1 available
832
No Serial1 available
832
No Serial1 available
832
No Serial1 available

现在程序进入最后一个else。我还尝试使用 C94 上的 J8 连接器连接 LinkIt,引脚 4 用于 GND,引脚 9 用于 RX(连接到 LinkIt 上的 TX),引脚 10 用于 TX。使用该设置,只有 RX 灯亮,TX 灯不亮。我尝试的另一种设置与之前的设置类似,但引脚 7 作为 TX,引脚 8 作为 RX,但结果相同。

有人知道如何解决这个问题吗? 我想也许当灯亮起时,无需串行连接就可以获取数据?我真的不明白板子在做什么,以及我必须改变什么才能做到这一点工作或我上次做的不同。由于 C94 非常复杂,可以发送或不能发送各种消息,因此我需要在 C94 的配置中进行一些更改。

如果有人知道什么可以帮助我解决这个问题,我很高兴听到。我知道 U-blox 论坛,但我希望在这里能接触到更多人。

【问题讨论】:

    标签: arduino serial-port rxtx


    【解决方案1】:

    您是否检查了 UBX-CFG-MSG 设置?

    UBX、RTCM3 或 NMEA 应为此目的适当打开。

    【讨论】:

      猜你喜欢
      • 2015-03-26
      • 1970-01-01
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      相关资源
      最近更新 更多