Adafruit Ultimate GPS sendCommand

BEARBEITEN: Gelöst, Problem war, dass "\r\n" am Ende des Satzes nicht gesendet wurde.

Ich versuche, Adafruit Ultimate GPS über STM32F407 zu steuern, es gibt eine offizielle Arduino- Bibliothek und diese Bibliothek hat eine sendCommand () -Funktion. Ich versuche, diese sendCommand () -Funktion in Keil mithilfe der HAL-Bibliothek zu implementieren

// arduino command for setting antenna off
GPS.sendCommand("$PGCMD,33,0*6D\n");

In keil habe ich diese Zeilen geschrieben

uint8_t Tx_Buffer[100];
int size;

// Turn off antenna update nuisance data
size = sprintf(Tx_Buffer,"$PGCMD,33,0*6D\n");
HAL_UART_Transmit(&huart1, Tx_Buffer, size, 100);
HAL_Delay(100);

// Set the update speed
size = sprintf(Tx_Buffer,"$PMTK220,500*2B\n");
HAL_UART_Transmit(&huart1, Tx_Buffer, size, 100);
HAL_Delay(100);

// Request RMC and GGA sentences only
size = sprintf(Tx_Buffer,"$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28\n");    
HAL_UART_Transmit(&huart1, Tx_Buffer ,size, 100);
HAL_Delay(1000);

Es scheint jedoch, dass ich nichts ändere, da es immer noch Daten in den Standardeinstellungen gibt. UART Baudrate ist 9600 (Senden und Empfangen)

Können Sie mir mit dem C-Code helfen? Vielen Dank im Voraus.

Ihnen fehlt ein '\n' am Ende Ihres Befehls 'Festlegen der Aktualisierungsgeschwindigkeit'.
Danke für Ihre Antwort. Ich habe es schon einmal versucht, habe es beim letzten Lauf nur verpasst. Außerdem habe ich versucht, es auch mit "\n\r" auszuführen.
@ZiyaKeskin „\n\r“ wäre sehr ungewöhnlich. Normalerweise entweder „\n“ oder „\r\n“.
Ich habe es gerade mit "\r\n" versucht und es funktioniert. Vielen Dank für Ihre Antworten.
Bitte posten Sie eine Antwort, die genau diese Informationen enthält, @ZiyaKeskin. Es wird uns ermöglichen, diese Frage als beantwortet zu erkennen, und wird somit anderen mehr helfen, und als Bonus können Sie auf diese Weise mehr Reputationspunkte verdienen.

Antworten (1)

Das Problem war, dass am Ende des Satzes kein "\r\n" gesendet wurde.