ISIX-RTOS – przykład 4 – wątkowa obsługa portu szeregowego RS232
Aplikacja składa się z dwóch wątków, które używają jednego portu szeregowego. Jeden wątek jest odpowiedzialny za odczyt danych z portu szeregowego oraz włączanie i wyłączanie diod LED D1 i D2. Drugi wątek jest odpowiedzialny za cykliczny odczyt stanu joysticka oraz – w przypadku wykrycia odchylenia od położenia standardowego – wysłania informacji o kierunku wychylenia jego osi. Hierarchię klas aplikacji przedstawiono na rys. 3.
Rys. 3. Hierarchia klas projektu
Podobnie jak we wszystkich prezentowanych przykładach klasa the_serialapp jest klasą aplikacji przechowującą wszystkie obiekty. Statyczny obiekt tej klasy jest tworzony w funkcji głównej main() (list. 1).
List. 1. Funkcja główna main
//App main entry point
int main()
{
//The application object
static app::the_serialapp app;
//Start the isix scheduler
isix::isix_start_scheduler();
}
Deklaracje klasy obiektu aplikacji przedstawiono na list. 2.
List. 2. Deklaracja klasy serialapp
//The application class
class the_serialapp
{
public:
//App Constructor
the_serialapp(): usart(USART2),ledrcv(usart),keytran(usart)
{}
private:
//Serial device
dev::usart_buffered usart;
//The blinker class
led_receiver ledrcv;
//The key transmitter class
key_transmitter keytran;
};


Fotowoltaika perowskitowa: od wydajności laboratoryjnej do masowej komercjalizacji
Czy kamery termowizyjne pokazują nam całą prawdę?
Generowanie ujemnego napięcia odniesienia – eksperymenty z zestawem ADALM2000 

![https://www.youtube.com/watch?v=XkeyLmtLfxo O konkursie organizowanym przez firmę TRUMPF Huettinger i polskie uczelnie techniczne opowiada Alicja Peresada i prof. Jacek Rąbkowski oraz kilkoro nagrodzonych dyplomantów: mgr inż. Jakub Dobosz, inż. Maja Zielińska, dr inż. Jakub Kołodziej, dr inż Weronika Hryniewska-Guzik i dr inż. Grzegorz Bartyzel. Zapraszamy do obejrzenia filmu! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/07/TRUMPF-czolowka.png)



