2016-10-10 2 views
0

Ich versuche, eine U-blox C94-M8P-Entwicklungskarte über eine serielle Verbindung an eine LinkIt One anzuschließen. Ich habe mehrere Möglichkeiten gefunden, aber keiner von ihnen scheint zu funktionieren. Allerdings muss ich sagen, dass ich es geschafft habe, die beiden Boards miteinander zu verbinden und es funktionierte, was bedeutet, dass der M8P GPS Daten an mein LinkIt schickte ... Aber weil die Antenne nicht funktionierte, während das Board angeschlossen war, habe ich es wieder getrennt und Ich habe vergessen, wie ich es gemacht habe ...Arduino: Wie bekomme ich Daten von RX Pin

Für jetzt verbinde ich RX, TX, GND und 3.3V mit J4 Connector (Seite 21) und die LEDs auf dem LinkIt für TX und RX leuchten, also nehme ich an, dass es sein sollte eine Verbindung und die Möglichkeit, Daten zu empfangen. Obwohl ich versuche, eine Serial1-Verbindung herzustellen, schlägt es immer fehl. Das ist mein LinkIt Code, mit vielen Variationen von Möglichkeiten zur Ausgabe der Signale ... keiner von ihnen arbeitet:

#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); 
    } 
} 

Meine Ausgabe wie folgt aussieht:

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 

Vorerst das Programm geht in die letzte else. Ich habe auch versucht, das LinkIt mit dem J8-Anschluss am C94 mit Pin 4 für GND, Pin 9 für RX (verbunden mit TX am LinkIt) und Pin 10 für TX zu verbinden. Bei diesem Setup leuchtet nur das RX-Licht, das TX-Licht nicht. Ein anderes Setup, das ich ausprobiert habe, ist wie das vorherige, aber mit Pin 7 als TX und Pin 8 als RX, aber mit dem gleichen Ergebnis.

Hat jemand eine Idee, wie Sie dieses Problem lösen können? Ich dachte, vielleicht, wenn die Lichter leuchten, ist es möglich, die Daten ohne eine serielle Verbindung zu bekommen? Ich verstehe wirklich nicht, was das Board macht und was ich ändern muss, damit es funktioniert oder was ich das letzte Mal anders gemacht habe. Da das C94 ziemlich komplex ist mit allen Arten von Nachrichten, die gesendet werden können oder nicht, ist es sehr wahrscheinlich, dass ich etwas in der Konfiguration des C94 ändern muss.

Wenn jemand etwas weiß, um mir zu helfen, dieses Problem zu lösen, bin ich glücklich zu hören. Ich kenne das U-blox-Forum, hoffe aber, hier noch mehr Leute zu erreichen.

Antwort

1

Haben Sie UBX-CFG-MSG Einstellungen überprüft?

UBX, RTCM3 oder NMEA sollten für die Zwecke entsprechend eingeschaltet werden.