Witam.
Kolego
Tygrysek, Twój tok rozumowania jest jak najbardziej poprawny.
Taka konstrukcja jest jak najbardziej ok:język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
- średnik jest tu pustą instrukcją, wcale nie musi tam być żadnego bloku instrukcji w {} z tym że musisz pamiętać o kilku sprawach: po pierwsze , zakładam, że Twoja zmienna milis została zadeklarowana jako
volatile, a po drugie, że kompilator w swej radosnej twórczości nie zoptymalizował Twojego while do jednej instrukcji asemblera - bo wtedy przerwanie nie ma się jak wykonać - nie da się przerwać jednej instrukcji asm ( choć Bogiem, a prawdą, nie bardzo wiem jak miałby to uczynić, jeśli zmienna milis jest 16-to bitowa ). Takie cóś:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to w sumie prawie to o co chodzi, ale kompilator jest "mądry" i na bank wywali tego nop-a, więc proponuję bezpiecznie :
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
. Z for-em też jest identyczna sytuacja, to tyle tak na szybko.
Dopisane: mikrosekundowy delay na timerze, co prawda uc inny, ale zasada ta sama - wycięty z kodu, nad którym teraz pracuję, na bank działa:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Warunek <= w tym while, bo chcę by opóźnienie było dokładnie delay.
Pozdrawiam, QuadMan.