Hej Eftersom meddelanden från GPS:en inte har något specifikt avslutningstecken måste du parsa mottagna tecken ett och ett.GPS, UBX-protokollet
Någon som micklat med U-Blox gps'er, LEA-4T ?
Ska läsa av Tiddata via deras binära protokoll i en VB app, men vet inte var jag ska börja, testade med MSComm och binary input men fick full buffert direkt, även att jag ökade den.
Man ska enligt manualen polla meddelandet och då få tillbaka ett "record"
www.u-blox.comSv: GPS, UBX-protokollet
Börja med att vänta på start signaturen 0xB5, 0x62 läs därefter 4 bytes där de två första identifierar meddelandet och de 2 sista talar om hur långt meddelandet är. Först då vet du hur många tecken till du måste läsa in för att ta emot ett komplett meddelande.
Någon slags tillståndsmaskin kan vara lämplig att använda här. Trigga på mottaget tecken event från serieporten. Kör då igenom tillståndsmaskinen med de tecken som finns tillgängliga i mottagar bufferten (så fort de finns tillgängliga) och fortsätt tills bufferten är tom. Tillståndsmaskinen kan sedan starta egna event när ett komplett meddelande tagits emot.
Kollade inte så noga på protokollet men jag antar att man måste tala om vilka meddelande man ska ha eller om de ska pollas.
Glöm inte timeout - starta om tillståndsmaskinen om nya tecken inte kommit in inom en viss tid när du är mitt i ett meddelande.
Detta är lite bökigare att hantera än CR (LF) avslutade strängmeddelande men inte jätte mycket.
/Ruben