ISIX-RTOS – przykład 4 – wątkowa obsługa portu szeregowego RS232
Klasa zawiera referencję do obiektu sterownika portu szeregowego usart_buffered. Realizacja zadania odbywa się w metodzie wirtualnej main(), stanowiącą odrębny wątek systemowy – list. 11.
List. 11. Implementacja metody main klasy led_receiver
//Main task/thread function
void led_receiver::main()
{
while(true)
{
unsigned char c;
//Receive data from serial
if(serial.getchar(c)==isix::ISIX_EOK)
{
//Check for received char
switch(c)
{
//On led 1
case 'a':
case 'A':
io_clr( LED_PORT, LED1_PIN );
break;
//Off led 1
case 'b':
case 'B':
io_set( LED_PORT, LED1_PIN );
break;
//On led 2
case 'c':
case 'C':
io_clr( LED_PORT, LED2_PIN );
break;
//Off led 2
case 'd':
case 'D':
io_set( LED_PORT, LED2_PIN );
break;
}
}
}
}
Działanie metody jest proste, sprowadza się do wywołania metody getchar() obiektu sterownika portu szeregowego, która blokuje się do momentu odebrania znaku. W przypadku odebrania prawidłowego kodu znaku, odpowiednie diody LED są włączane lub wyłączane.
Klasa key_transmiter (list. 12) odpowiedzialna jest za odczyt stanu joysticka oraz – w przypadku wykrycia zwarcia jego styków – wysłaniu informacji do portu szeregowego.
List. 12. Deklaracja klasy led_transmitter
class
key_transmitter: public isix::task_base
{
public:
//Constructor
key_transmitter(dev::usart_buffered &_serial);
protected:
//Main thread method
virtual void main();
private:
//Stack and prio cfgs
static const unsigned STACK_SIZE = 256;
static const unsigned TASK_PRIO = 3;
//The usart obj ref
dev::usart_buffered &serial;
};

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)

