Bonjour,
Je cherche à parser la trame NMEA suivante :
$GPRMC, ------------*15 CR LF (15 étant le cheksum)
J’arrive à récupérer ce qui se trouve entre $ et * avec le code MikroBasic suivant :
Le code qui fonctionne:
Comme le cheksum se trouve après le caractère *, je souhaite maintenant récupérer ce qui se trouve entre * et CR, mais le code suivant fige le programme du PIC.Code:Delim as string[1] ' déclaration du délimiteur Delim[0] = chr(42) ' ASCI 42 = * Delim[1] = "" ' Zéro terminal if (UART1_Data_Ready() = 1) then UART1_Read_Text(Rec, Delim, 255) ' La trame entre $ et * se trouve dans Rec end if
Qui a une idée ?Code:Delim as string[1] ' déclaration du délimiteur Delim[0] = chr(13) ' ASCI 13 = CR Delim[1] = "" ' Zéro terminal if (UART1_Data_Ready() = 1) then UART1_Read_Text(Rec, Delim, 255) ' Ceci ne fonctionne pas end if
Exemple de trame reçue:
-----