-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Atlantis <m...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: Raspberry Pi i przerwania
Date: Tue, 27 Dec 2016 14:06:09 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 24
Message-ID: <o3tp0a$i80$1@news.icm.edu.pl>
NNTP-Posting-Host: aadt243.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Trace: news.icm.edu.pl 1482843978 18688 83.4.97.243 (27 Dec 2016 13:06:18 GMT)
X-Complaints-To: u...@n...icm.edu.pl
NNTP-Posting-Date: Tue, 27 Dec 2016 13:06:18 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101
Thunderbird/45.5.1
X-Mozilla-News-Host: news://news.tpi.pl:119
Xref: news-archive.icm.edu.pl pl.misc.elektronika:710093
[ ukryj 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
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
Najnowsze wątki
- 2025-06-20 5w30 zamiast 0w30
- 2025-06-19 Klima i samodzielne uzupełnienie
- 2025-06-20 Upgrade z i7-6xxx
- 2025-06-19 Czy ołowiane perowsiki, drukowane na folii to był fake ?
- 2025-06-20 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-06-20 Gdynia => Sales Executive / KAM <=
- 2025-06-20 Wrocław => Senior Key Account Manager IT <=
- 2025-06-20 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-06-20 Warszawa => Fullstack .NET Developer <=
- 2025-06-20 Białystok => Software Engineer .Net <=
- 2025-06-20 Warszawa => Inżynier oprogramowania .Net <=
- 2025-06-20 Białystok => Kotlin Developer <=
- 2025-06-20 Gdynia => MLOps Engineer <=
- 2025-06-20 Warszawa => Strategic Account Manager <=
- 2025-06-20 Warszawa => IT Recruiter <=