-
Data: 2019-02-11 11:10:21
Temat: Re: Zagwozdka w C Keil.
Od: Mateusz Viste <m...@n...pamietam> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Mon, 11 Feb 2019 10:02:24 +0100, Grzegorz Niemirowski wrote:
>> Może należało by sprawdzić najpierw jedną połówkę, później drugą i
>> ponownie pierwszą, dla pewności.
>
> Można.
Niby można, ale to dalej będzie lichota, bo nic nie gwarantuje, że przy
trzecim sprawdzaniu BAM! znów interrupt nie strzeli.
Ktoś mógłby powiedzieć "no tak, ale to przerwanie wyzwala się raz na
jakiś czas, kilka cykli CPU to za krótko by dwa razy zdążyło się
wyzwolić" - ale to nie do końca słuszne założenie. Może być tak, że
uruchomi się nasze przerwanie, zaraz za nim jakieś obce przerwanie które
robi coś dłuuuugo i zaraz po nim znów wraca to nasze, z nowym (złośliwie
ustawionym) DEL_STEP.
> Można też zastosować sekcję krytyczną czyli wyłączyć przerwania
> na moment testu.
To tak. Ale moje skromne i niezobowiązujące zdanie jest takie, że z
_disable() należy obchodzić się tak jak z goto. Są przypadki gdzie można
się tym pokusić bo coś uprości i będzie wszystkim żyło się lepiej, ale
jeśli tylko można - lepiej unikać, bo potem człowiek się uzależni i
zacznie produkować potworki. No i oczywiście wyłączenie przerwań
poskutkuje tym, że ich wykonywanie obarczone będzie jitterem (bo przy
dłuższych sprawach przerwania nam się zakolejkują) - a to może być, w
niektórych zastosowaniach/warunkach, jakimś problemem. Do tego takie
ręczne wyłączanie przerwań wprowadza stan, o którym należy pamiętać (tj.
nie zapomnieć o włączeniu przerwań z powrotem) - przy większym codeflow
który może różnymi ścieżkami pobiec łatwo robi się wtedy mętlik.
Mateusz
Następne wpisy z tego wątku
- 11.02.19 11:54 Queequeg
- 11.02.19 11:59 Queequeg
- 11.02.19 12:17 J.F.
- 11.02.19 13:45 k...@g...com
- 11.02.19 14:27 Mateusz Viste
- 12.02.19 02:33 k...@g...com
- 12.02.19 09:31 Mateusz Viste
- 12.02.19 22:39 Irek.N.
- 12.02.19 23:02 stary grzyb
- 13.02.19 09:10 HF5BS
- 13.02.19 10:44 Piotr Gałka
- 13.02.19 11:28 J.F.
- 13.02.19 13:48 Janusz
- 13.02.19 16:22 stary grzyb
- 13.02.19 21:13 Irek.N.
Najnowsze wątki z tej grupy
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- 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
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek