Stap 5: Lezingen omzetten in nuttige informatie
Onze UART-verbinding is ingesteld en nu wat we moeten doen is lezen de waarden van onze GPS. Uit de PmodGPS data sheet zien wij dat het verzendt gegevens in NMEA zinnen. Bekijk Deze pagina om te zien wat de verschillende NMEA-zinnen zijn.
Om te beginnen met het lezen, is het eerste wat dat we moeten richten op op zoek naar bytes dat beschikbaar is in de haven. Met behulp van de UART bytes beschikbaar VI, kunnen we zien hoeveel bytes in de seriële buffer zitten. Vervolgens kunnen we de UART (byte-matrix) lezen om te lezen van de seriële data in de haven als byte-matrix gebruiken. Elke letter of cijfer verzonden via UART is in ASCII zodat als het getal 0 wordt verzonden, de UART lezen 48 decimaal die is ingesteld op 0 in ASCII zal lezen.
We kunnen de byte-array op tekenreeks gebruiken om de binnenkomende ByteArray in de werkelijke NMEA-tekenreeks omzetten. U waarschijnlijk opgevallen dat sommige extra berekeningen en verschuiven van registers, maar die later zal worden aangepakt.
OK hebben we een NMEA transmissie van de GPS. We zullen verdergaan met de voorbeeld NMEA zin $GPGGA, 123519, 4807.038, N, 01131.000, E, 1, 08, 545.4, 0.9 M, 46.9, M,, * 47.
Onze eerste terwijl lus de overdracht door de nieuwe regel teken breekt omdat elke zin NMEA met dit eindigt. Hiervandaan worden de restjes verwijderd en een shift register ingestuurd om toe te voegen op de volgende transmissie, aangezien die de rest van de zin zal bevatten.
De eerste 6 bytes van elke gebroken uit elkaar zin worden gelezen om te zien welk gegevenstype die we hebben. We lezen in dit geval $GPGGA zodat we dat een zaak structuur verzenden zodat we de regel correct lezen kunt omdat niet alle lijnen dezelfde informatie bevatten. Alle gegevens zijn door komma's gescheiden zodat we alle gegevens in meerdere tekenreeksen opsplitsen en vervolgens deze tekenreeksen omzetten in nuttige informatie. Als u geïnteresseerd bent in hoe ik het deed de andere lijnen, check out de NMEA-zinnen en de bijgevoegde LabVIEW code.
Lezingen omzetten in nuttige informatie is veruit het moeilijkste deel van de UART. Probeer dit als een voorbeeld/gids om uw eigen UART-interfaces code! Als u vragen hebt, check out de LabVIEW MakerHub Forums.