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


Od wzmacniacza nieodwracającego do integratora i wzmacniacza ładunkowego, czyli historia z zaskakującą pointą jak w dobrym kryminale
Green czy smart? Jak decyzje ESG zaczynają optymalizować procesy produkcyjne
Firma Semicon ma w ofercie narzędzia do obróbki przewodów 

![https://www.youtube.com/watch?v=BgxJVTwYJ-s Zapraszamy do obejrzenia filmu i wysłuchania krótkich wypowiedzi prelegentów Hardware Forum 2026 i organizatorów majowej konferencji dla inżynierów z branży elektronicznej: Konrad Bruliński z Lemontech, prof. Krzysztof Kulpa z Politechniki Warszawskiej, Zbigniew Huber z FLC, Ewa Załupska z firmy KROK, Jerzy Kozieł z MPTECH, Grzegorz Potyralski z VIGO Photonics, dr Krzysztof Czuba z Politechniki Warszawskiej, Anna Beata Kalisz Hedegaard z Quantum Security Defence, Adrian Cichosz z Elhurt Dystrybucja Anna Kamińska z Creotech Quantum, oraz Łukasz Jaeszke i Adam Jaeszke z TEK.day [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/05/tytulowe-film-1.png)



