-
Data: 2016-12-27 14:06:09
Temat: Raspberry Pi i przerwania
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Pytanie zapewne z kategorii banalnych, ale nie mogę na szybko doszukać
się odpowiedzi, a nie jestem pewien, czy w tym przypadku powinienem
trzymać się przyzwyczajeń z mikrokontrolerów, czy jednak nie.
Jak wiadomo jedną z najważniejszych zasad przy programowaniu na MCU jest
jak najszybsze wychodzenie z funkcji obsługującej przerwanie - jeśli
trzeba wykonać dłuższą partię kodu albo coś przeczekać, ustawia się
flagę i robi to w pętli głównej programu.
Czy ta zasada ciągle obowiązuje na Raspberry Pi? Mam kawałek kodu, który
ma m.in. sprawdzać stan kilku przycisków i obsługiwać enkoder obrotowy.
Po wykryciu naciśnięcia przycisku albo przekręcenia pokrętła zajdzie
konieczność wysłania polecenia do zewnętrznego procesu, za pośrednictwem
potoku nazwanego albo gniazda uniksowego. Mogę sobie pozwolić na
umieszczenie tych operacji w kodzie obsługi przerwania? Jądro sobie
poradzi z taką sytuacją, czy będę miał do czynienia z blokadą, jak na
mikrokontrolerze?
Jeśli takie rozwiązanie jest niedopuszczalne, w jaki sposób mogę
wybudzić pętle główną uśpioną poleceniem sleep()? Bo z tego co widzę,
nie dzieje się to automatycznie po wyjściu z przerwania. Mógłbym co
prawda usypiać program na krótko i periodycznie sprawdzać stan flag, aby
użytkownik nie zauważył opóźnień. Jednak trochę szkoda cykli procesora,
jeśli da się to zrobić lepiej.
Następne wpisy z tego wątku
- 28.12.16 01:40 a...@m...uni.wroc.pl
- 28.12.16 10:55 Adam Wysocki
Najnowsze wątki z tej grupy
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
Najnowsze wątki
- 2026-01-02 Gdańsk => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-02 Gdańsk => Solution Architect (Workday) - Legal Systems <=
- 2026-01-02 Gdańsk => Microsoft Dynamics 365 Finance Consultant <=
- 2026-01-02 Microsoft, C/C++ na Rust - news
- 2026-01-01 szyby macie całe?
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Wszystkiego najlepszego
- 2025-12-31 Czy potrafisz wskazać różnice? [TVN v. RMF]
- 2025-12-31 I kolejny jebnięty
- 2025-12-31 Myślenice => Specjalista ds. kontrolingu <=
- 2025-12-31 Ostróda szlachetnie walczy
- 2025-12-31 Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]