Witam
Dziwne... skopiowałem ten kod i skompilowałem, u mnie chodzi. Dwie podłączone diody migają na zmianę.
Ada20 pisze:To już czytałam dwa dni temu,ja pytam w tym wypadku,a nie ogólnie.
Już tłumaczę, może na początku trochę bardziej obrazowo.
Mamy pięciu studentów
pierwszy z nich podaje co 1 s komendę "raz" czterej pozostali trzymają w górze prawe ręce, oraz zliczają komendy podawane przez pierwszego. Teraz mamy taką sytuację, że:
Drugi licząc komendy (inkrementuje swój licznik) dolicza tylko do 5, po czym zmienia prawą rękę na lewą, oraz zaczyna liczyć od początku 0, 1 ... 4, 5,(zmiana ręki) 0, 1...4, 5, (zmiana ręki) itd.
Trzeci student, postępuje analogicznie, z tym że liczy do 7, w związku z tym 0, 1, 2, ... 6, 7, (zmiana ręki), 0, 1, ... 6, 7, (zmiana ręki)...
Czwarty student, zlicza do 3, a piąty do 9. Mamy więc taką sytuację:
student 1 - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1...
student 2 -
0, 1, 2, 3, 4, 5,
0, 1, 2, 3, 4, 5,
0, 1, 2, 3, 4, 5,
0, 1, 2, 3, 4, 5...
student 3 -
0, 1, 2, 3, 4, 5, 6, 7,
0, 1, 2, 3, 4, 5, 6, 7,
0, 1, 2, 3, 4, 5, 6, 7...
student 4 -
0, 1, 2, 3,
0, 1, 2, 3,
0, 1, 2, 3,
0, 1, 2, 3,
0, 1, 2, 3,
0, 1, 2, 3...
student 5 -
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
0, 1, 2, 3...
Kolorami znaczyłem zmiany.
Jak więc widzisz, mimo, iż mamy jeden wspólny sygnał zegarowy, czyli jeden obieg pętli while(1) z odpowiednim czasem _delay_ms, to każda zmienna, jest takim licznikiem, który umożliwia kilku "procesom" niezależne zliczanie czasu, i każdy student macha łapkami w swoim rytmie
Pozdrawiam