STM32VLDISCOVERY: obsługa modułu GPS Fastrax IT500
Oprogramowanie
Oprogramowanie dla mikrokontrolera STM32 zostało napisane przy wykorzystaniu środowiska programistycznego Keil µVision oraz bibliotek STM32F10x StdPeriph Lib w wersji 3.5.0. Na rysunku 5 przedstawiono schemat blokowy programu.
Rys. 5. Schemat blokowy programu
Po uruchomieniu programu w pierwszej kolejności mikrokontroler STM32 konfiguruje wyprowadzenie PA10. Następnie konfigurowany jest interfejs komunikacyjny UART. Parametry pracy są zgodne z parametrami ustawionymi w module GPS:
- Baudrate 9600,
- 8 bitów danych,
- 1 bit stopu,
- Brak parzystości.
Dzięki temu wyprowadzenie PA10 może służyć do odbioru danych z modułu GPS. Następnie mikrokontroler oczekuje na odebranie tychże danych (są one kodowane zgodnie z protokołem NMEA0183). Bajt po odebraniu wpisywany jest do tablicy temp[] w miejsce o indeksie 0. Jeśli zawarta w nim informacja zostanie zinterpretowana jako znak inny niż ‘$’, następnych pięć odebranych bajtów wpisywanych jest pod kolejne indeksy tablicy temp[]. Znaki te symbolizują identyfikator zdania. Jeśli identyfikator nosi nazwę GPGLL, oznacza to, że dane, które po nim wyśle moduł GPS zawierają informację o czasie i pozycji GPS. W tej sytuacji kolejne bajty są wczytywane do tablic o nazwach time[], n[] oraz e[]. W tablicach tych znajdują się odpowiednio: aktualny czas, szerokość geograficzna i długość geograficzna.
Warto przyjrzeć się bliżej wybranym funkcjom programu. Część kodu została opisana w książce [1] i nie będzie powtórnie opisywana w tym opracowaniu.
W listingu 1 przedstawiono ciało funkcji getch(), która odpowiada za sczytywanie poszczególnych znaków do zmiennej. Docelowo funkcja wczytuje wartości do poszczególnych tablic. Dodatkowo funkcja zamienia każdy znak ‘,’ na znak ‘|’.
Listing 1.
char getch(void)
{
while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)
{
}
tmp = USART_ReceiveData(USART1);
if(tmp == ’,’)
{
tmp = ’|’;
}
else
return tmp;
}
W listingu 2 pokazano kod będący „sercem” całego programu. Odpowiada on za odczytywanie danych z modułu GPS i ich interpretację.
Listing 2.
while(1)
{
while((temp[0]=getch()) != ’$’);
for(i=0; i




Hybrydowe architektury kosmiczne – projektowane z myślą o wydajności i pewności działania
Inżynierowie jutra nie projektują od zera. Jak narzędzia cyfrowe zmieniają pracę nad nowymi technologiami?
Automatyzacja magazynów w Polsce – Exotec i Skypod 


![https://www.youtube.com/watch?v=xeqdqGuy-Aw Michał Mitas, kierownik laboratorium Badań Urządzeń Radiowych w katowickim instytucie Łukasiewicz - AI, opowiada o badaniach urządzeń z interfejsem komunikacji bezprzewodowej, jak Wi-Fi, Bluetooth, LTE czy 5G, przeprowadzanych w komorze bezodbiciowej. Zapraszamy do obejrzenia filmu! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/10/00.png)

![https://www.youtube.com/watch?v=QSnLO-KmBMY O wybranych projektach realizowanych w Laboratorium Zakładu Układów Mikrofalowych – ISE PW opowiadają: mgr inż. Michał Kalisiak, dr hab. inż. Arkadiusz Lewandowski, mgr inż. Andžej Šerlat oraz dr hab. inż. Krzysztof Czuba. Zapraszamy na firm [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/09/WEiTI-PW-czolowka.png)

