-
Data: 2022-11-03 08:33:44
Temat: Re: STM32F107 + lwIP + FreeRTOS
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 03.11.2022 07:22, JDX wrote:
> Poczytaj o mechanizmach synchronizacji w systemach wielowątkowych - nie
> ma znaczenia czy to FreeRTOS, Linux, Windows czy coś innego - podstawy
> są takie same, a API podobne. Na początek sprawdź hasła mutex (aka
> binary semaphore), semafor, condition(al) varialble, bariera (np.
Inaczej, to nie jest tak, że te pojęcia są dla mnie czymś zupełnie
nowym. Używałem RTOS-a na ESP8266/ESP32 (tam jest on właściwie
zintegrowany z SDK) oraz na Raspberry Pi Pico i jakieś proste zadania
synchronizowałem za pomocą semaforów, np. upewniając się, że zadanie w
jednym tasku nie zostanie wykonanie do momentu, aż nie pozwoli na to
pojawienie się przerwania. W pierwszym momencie tutaj chciałem użyć
podobnego mechanizmu z binary semaphoirami, ale najwyraźniej robię coś
źle, bo po jego dodaniu mam dość mocny spadek wydajności - w tym
przypadku słyszalny.
Na chwilę obecną przeszedł mi do głowy jeszcze pomysł, żeby zastosować
kolejkę wiadomości. Na zasadzie:
Task I/O:
- Sprawdza stan kolejnych przycisków
- Jeśli wykryte zostanie naciśnięcie przycisku na kolejkę wysyłana jest
wiadomość z kodem operacji do wykonania
Główny task:
- Cyklicznie wywołuje funkcję obsługującą maszynę stanów urządzenia
- Następnie pobiera wiadomość z kolejki i wykonuje odpowiadającą jej
operację, modyfikującą stan maszyny stanów.
- W kolejnym przebiegu maszyna będzie już obsługiwana w swoim nowym stanie.
Dzięki temu task I/O nigdy nie będzie wywoływał funkcji modyfikujących
stan maszyny działającej w drugim tasku.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
- Co oni mierzą miernikiem
- 40 lat OrCAD-a
- Multimetr z bluetooth
- Ciekawa mapka z BTS-ami
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
- test stereo
Najnowsze wątki
- 2025-10-22 Oszustwo?
- 2025-10-22 Odtajniony dokument NATO
- 2025-10-22 Taaaaka ryba
- 2025-10-22 Prawnicy BACZNOŚĆ!
- 2025-10-22 Rzeszów => Spedytor Międzynarodowy <=
- 2025-10-22 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-10-22 Warszawa => Senior Microsoft Dynamics 365 Business Central Consultant
- 2025-10-22 Warszawa => Senior IT Recruitment Consultant <=
- 2025-10-22 Warszawa => Generative AI Engineer <=
- 2025-10-22 daltonizm
- 2025-10-22 Pierdolone pismaki
- 2025-10-21 Mały Linux
- 2025-10-21 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-10-21 Warszawa => C Programmer <=
- 2025-10-21 Warszawa => Senior Programmer C <=