-
Data: 2022-11-03 15:02:37
Temat: Re: STM32F107 + lwIP + FreeRTOS
Od: JDX <j...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 03.11.2022 08:33, Atlantis wrote:
[...]
> 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.
>
Zwróć uwagę na to, że ,,sekcje krytyczne" obudowane muteksem/semaforem
powinny być możliwie krótkie, aby wątki nie blokowały się na zbyt długo
na tych muteksach/semaforach.
> 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.
Właśnie wynalazłeś przekazywanie wiadomości i kolejkę komunikatów. :-)
https://en.wikipedia.org/wiki/Message_passing
https://en.wikipedia.org/wiki/Message_queue
To niezły pomysł, ale wydaje mi się, że czytanie kilku klawiszy i
enkodera da się załatwić kilkoma współdzielonymi (globalnymi) zmiennymi
obudowanymi muteksem bądź semaforem. Tak czy inaczej, synchronizacja
musi być jakoś zapewniona.
Następne wpisy z tego wątku
- 03.11.22 20:57 Marek
Najnowsze wątki z tej grupy
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
Najnowsze wątki
- 2025-01-08 Warszawa => Programista Full Stack .Net <=
- 2025-01-08 Podłączenie DMA 8257 do 8085
- 2025-01-08 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-08 Warszawa => Solution Architect (Java background) <=
- 2025-01-08 Wrocław => Application Security Engineer <=
- 2025-01-08 Warszawa => International Freight Forwarder <=
- 2025-01-08 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-08 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2025-01-08 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-08 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-08 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-07 Aero2
- 2025-01-06 odbiornik GPS z kablem USB
- 2025-01-07 Oszczędzanie nie jest łatwe
- 2025-01-07 Warszawa => Java Developer <=