ZL27ARM: współpraca z odbiornikiem GPS z modułu KAmodGPS
W projekcie zrealizowano następujące zadanie: odczyt współrzędnych z modułu KAmodGPS w formacie NMEA-0183, i taka obróbka odczytanych danych, żeby szerokość geograficzna była przedstawiona na wyświetlaczu w formacie DMS (stopnie, minuty, sekundy), a długość geograficzna w formacie DM (stopnie, minuty).
Najprostszym rozwiązaniem tak postawionego zadania okazało się połączenie modułu KAmodGPS za pomocą trzech przewodów do zestawu ZL27ARM i prezentacja wyniku działania na wyświetlaczu LCD 2×16, dla którego gniazdo znajduje się w standardowym wyposażeniu zestawu uruchomieniowego ZL27ARM (STM32F103).
Ponieważ dane z GPS są wyłącznie odbierane, to w przykładzie wykorzystano linię TxD KAmodGPS, linia RxD nie została podłączona. Schemat połączeń pomiędzy KAmodGPS i ZL27ARM pokazano na rysunku 1.
Rys. 1. Schemat połączeń pomiędzy ZL27ARM i KAmodGPS
Przed dołączeniem zasilania należy sprawdzić położenie zworki PWR w module KamodGPS i ustawić ją na odpowiednie napięcie zasilania modułu, w naszym przykładzie będzie to 3,3 V).
W programie głównym main odczytywana jest szerokość geograficzna oraz długość geograficzna za pomocą funkcji getch():
char getch(void) { char tmp; while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET); tmp = USART_ReceiveData(USART1); return tmp; }