Mini system operacyjny dla STM32 – wprowadzenie
Inną możliwością komunikacji międzyprocesowej (międzywątkowej) są kolejki FIFO umożliwiających przekazywanie danych pomiędzy zadaniami:
fifo_t* isix_fifo_create(int n_elem, size_t elem_size);
Funkcja tworzy kolejkę FIFO na n_elem elementów, o wielkości każdego elementu elem_size. W przypadku powodzenia funkcja zwraca wskaźnik na strukturę kontrolną fifo_t, natomiast w przypadku niepowodzenia zwraca wartość NULL.
int isix_fifo_write(fifo_t *fifo, const void *item, tick_t timeout);
int isix_fifo_write_isr(fifo_t *queue, const void *item);
Funkcje zapisują do kolejki o argumencie fifo element o wartości przekazanej za pomocą argumentu item. Wersja pierwsza w przypadku gdy kolejka FIFO jest zapełniona powoduje uśpienie zapisującego procesu (wątku) na czas przekazany jako argument timeout lub do momentu zwolnienia miejsca w kolejce. Wersja z przyrostkiem _isr służy do wywoływania z kontekstu przerwania i nie powoduje zablokowania. W przypadku powodzenia zwraca wartość ISIX_EOK.
int isix_fifo_read(fifo_t *fifo,void *item, tick_t timeout);
int isix_fifo_read_isr(fifo_t *queue, void *item);
Funkcje te są analogiczne do wcześniej opisanych funkcji isix_fifo_write() i powodują odczytanie danych z kolejki FIFO.
int isix_fifo_count(fifo_t *fifo);
Funkcja zwraca ilość elementów znajdujących się aktualnie w kolejce lub kod błędu gdy wartość zwracana jest mniejsza od 0.
int isix_fifo_destroy(fifo_t *fifo);
Funkcja powoduje skasowanie kolejki FIFO oraz zwolnionych przez nią zasobów. W przypadku powodzenia zwraca wartość ISIX_EOK (0).
Funkcje alokacji pamięci na stercie systemu, zawarte w pliku nagłówkowym memory.h:
void* isix_alloc(size_t size);
Funkcja powoduje alokację size bajtów pamięci na stercie systemowej. W przypadku powodzenia zwraca wskaźnik do zaalokowanej pamięci, w przypadku niepowodzenia zwraca wartość NULL.
void isix_free(void *mem);
Funkcja ta powoduje zwolnienie pamięci na stercie systemowej (argument mem), zaalokowanej wcześniej za pomocą funkcji isix_alloc.



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)

