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;
};


Platforma JetSys-2010 SFF do wysokowydajnych obliczeń AI-at-the-EDGE w aplikacjach high-end
Hahn EI30 ErP – transformatory sieciowe o niskich stratach mocy
Grzegorz Kamiński: Co nowego na rynku podzespołów półprzewodnikowych GaN? 


![https://www.youtube.com/watch?v=kmvM5hVSzCM Piata już edycja konferencji Hardware Design Masterclasses dla elektroników zaskoczyła frekwencją, tym bardziej, że spotkanie było dwudniowe. Film jest krótką relacją z wydarzenia, bazującą na wypowiedziach prelegentów. [materiał redakcyjny] Zapraszamy do obejrzenia!](https://mikrokontroler.pl/wp-content/uploads/2026/01/Rafal-tytulowe.png)

