2016-10-10 9 views
0

Я пытаюсь подключить плату разработки U-blox C94-M8P к LinkIt One через последовательное соединение. Я нашел несколько способов сделать это, но никто из них, похоже, не работает. Хотя я должен сказать, что однажды мне удалось объединить две платы, и это сработало, что означает, что M8P отправил GPS-данные на мой LinkIt ... Но поскольку антенна не работала, когда плата была подключена, я отключил ее снова и забыл, как я это сделал ...Arduino: Как получить данные с вывода RX

На данный момент я подключаю RX, TX, GND и 3.3V до J4 Connector (стр. 21), а светодиоды на LinkIt для TX и RX светятся, поэтому я предполагаю, что соединение и возможность получения данных. Хотя, когда я пытаюсь сделать соединение 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. Я также попытался подключить LinkIt с помощью разъема J8 на C94 с контактом 4 для GND, контакт 9 для RX (подключен к TX на LinkIt) и контакт 10 для TX. При такой настройке свет только RX светится, индикатор TX не светится. Другая настройка, которую я пробовал, подобна предыдущей, но с булавкой 7 как TX и pin 8 как RX, но с тем же результатом.

У кого-нибудь есть идея, как решить эту проблему? Я подумал, что, когда светится свет, можно получить данные без последовательного соединения? Я действительно не понимаю, что делает доска, а также то, что я должен изменить, чтобы заставить его работать или что я сделал по-другому в последний раз. Поскольку C94 довольно сложный со всеми видами сообщений, которые могут быть отправлены или нет, это очень возможно, что мне нужно что-то изменить в конфигурации C94.

Если кто-то знает что-то, что поможет мне решить эту проблему, я рад слышать. Я знаю форум U-blox, но я надеюсь привлечь сюда больше людей.

ответ

1

Вы проверили настройки UBX-CFG-MSG?

UBX, RTCM3 или NMEA должны быть включены соответствующим образом для целей.