-
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
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
- Waga z legalizacją
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
Najnowsze wątki
- 2025-03-31 Kraków => IT Expert (Network Systems area) <=
- 2025-03-31 Białystok => NMS System Administrator <=
- 2025-03-31 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-03-31 Sąd/Sędzia odrzuca wniosek o 30d aresztu Ziobry i jedzie po PO-Komisji Sroki [i Ziobrze w GW wersji]
- 2025-03-31 Warszawa => Sales Executive / KAM <=
- 2025-03-31 Warszawa => International Freight Forwarder <=
- 2025-03-31 Re: Państewko prawka Rumunia czyli pokaz UE leworządności - lider unieważnionych wyborów niedopuszczony do powtórki
- 2025-03-31 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-03-31 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-31 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-31 Wrocław => Senior Backend Developer <=
- 2025-03-31 Białystok => Generative AI Engineer <=
- 2025-03-31 China-Kraków => Key Account Manager IT <=
- 2025-03-31 Prawne ciekawostki: Ksiądz KRK wygrał ze swoim biskupem sprawę o "naruszenie dóbr osobistych" [SN oddalił kasacje]
- 2025-03-31 Podatek od "konta wspólnego"