-
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
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
Najnowsze wątki
- 2025-11-12 Strefa Schengen
- 2025-11-12 #Motodziennik 352 - STRACH SIĘ BAĆ - Zombi VS radio AM, prawo do naprawy i niemiecki pomysł...
- 2025-11-12 Aparatu szukam
- 2025-11-12 Azylant na Węgrzech donosi prokuraturze na ministra sprawiedliwości/prokuratora generalnego
- 2025-11-12 Wrocław => Specjalista ds. Marketingu Online (PPC) <=
- 2025-11-12 Gdańsk => Delphi Programmer <=
- 2025-11-12 Białystok => Generative AI Engineer <=
- 2025-11-12 Białystok => Gen AI Engineer <=
- 2025-11-12 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-11-12 Gdańsk => Programista Delphi <=
- 2025-11-12 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-11-12 Warszawa => Engineering Manager <=
- 2025-11-12 Białystok => Senior Microsoft Dynamics 365 Business Central Konsultan
- 2025-11-12 Większy zasięg w elektrykach nikomu nie jest potrzebny
- 2025-11-12 Za dwa lata nie będzie wielu usług (19xxx)




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei