Hur du använder UART i LabVIEW (5 / 5 steg)
Steg 5: Konvertera värden till användbar Information
Vår UART anslutning är inställd och nu vad vi ska göra läses värdena från vår GPS. Från PmodGPS datablad ser vi att den skickar data i NMEA meningar. Kolla in denna sida för att se vad de olika NMEA-meningarna.
För att börja läsa, söker det första vi behöver fokusera på byte tillgängligt i hamnen. Använder den UART byte tillgängliga VI, kan vi se hur många byte sitter i följetong bufferten. Vi kan sedan använda den UART läsa (bytematris) för att läsa seriella data i hamnen som en byte-array. Varje bokstav eller siffra skickas via UART är i ASCII så om siffran 0 skickas, UART läsa läser 48 decimal som är 0 i ASCII.
Vi kan använda bytearrayen sträng för att konvertera inkommande bytearrayen i faktiska NMEA strängen. Du nog har märkt några extra beräkningar och SKIFT register men de kommer att behandlas senare.
OK har vi en NMEA sändning från GPS. Vi ska gå vidare med exempel NMEA meningen $GPGGA, 123519, 4807.038, N, 01131.000, E, 1, 08, 0,9, 545.4, M, 46,9, M,, * 47.
Vår första medan loop bryter överföringen av nya linje-tecknet eftersom varje NMEA mening slutar med detta. Här är resterna bort och skickas till ett skiftregister att lägga till på nästa överföring eftersom som innehåller resten av meningen.
Varje bruten apart mening första 6 byte läses för att se vilken datatyp som vi har. I detta fall läser vi $GPGGA så skickar vi det till en fall struktur så att vi kan läsa raden korrekt eftersom inte alla rader innehåller samma information. All data är kommaseparerade så vi bryta alla data i flera strängar och sedan konvertera dessa strängar till användbar information. Om du är intresserad av hur jag gjorde de andra raderna, kolla in NMEA-meningar och bifogade LabVIEW kod.
Konvertera värden till användbar information är överlägset den svåraste delen av UART. Prova att använda detta som ett exempel/guide för att koda dina egna UART gränssnitt! Om du har några frågor, kolla in LabVIEW MakerHub forum.