sobota, 31 października 2015

[ARM][CooCox][C] Pętla 'while' i ścisły zapis

Zawsze byłem pewien, że po zapisaniu warunku pętli 'while' w nawiasach okrągłych () można postawić średnik ; jako brak instrukcji do wykonania. No niestety nie do końca. Nie chce mi się teraz tego sprawdzać, ale naszukałem się sromotnie dlaczego odebrany z USART1 znak zamiast zostać odesłany raz (po ludzku) jest wysyłany w nieskończoność. Oczywiście przed wysłaniem jest napisane oczekiwanie w pętli while na ustawienie flagi TXE (Transmiter Empty). No i pętla zamiast poczekać na flagę a następnie przejść dalej i wysłać znak, wysyłała mi na okrągło ten sam znak.

Wzorowym zapisem powinno być:
while(if_statement) {} <-- muszą być nawiasy klamrowe oznaczające blok wykonania pętli. Może być pusty, ale może być.

Jutro jak mi się będzie chciało to sprawdzę czy tak samo zachowuje się pętla while na Linuksie.

Brak komentarzy:

Prześlij komentarz