Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 09:32


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 7 sty 2019, o 17:38 
Offline
Użytkownik

Dołączył(a): 26 cze 2016
Posty: 186
Pomógł: 7

Trochę nie rozumiem pytania, ale w 2 przypadku też zapalają się po kolei, ale na oko widać, że jednocześnie, bo to odstęp rzędu mikrosekund jest, potem masz opóźnienie zauważalne dla oka i znów diody po kolei zmieniają stan, na oko jednocześnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2019, o 17:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 kwi 2014
Posty: 58
Pomógł: 0

W przykładzie pierwszym, po każdej zmianie stanu na pojedynczym pinie portu B program jest zatrzymywany na pół sekundy, dlatego stan każdej z diod też zmienia się po kolei co pół sekundy.

W przykładzie drugim, zmieniasz stan na trzech pinach portu B, a dopiero potem zawieszasz program na pół sekundy. Jako, że dzieje się to niemal w mgnieniu oka (nie ma delayów między poszczególnymi pinami), więc
Misiek_86 napisał(a):
czerwona biała i zielona migają wszystkie razem



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2019, o 18:02 
Offline
Użytkownik

Dołączył(a): 05 gru 2017
Posty: 408
Lokalizacja: Puck
Pomógł: 7

Cześć Misiek_86

W pierwszym przykładzie masz zastosowane _delay_ms(500);
i one zatrzymują Ci działanie programu na czas 500 ms
po tym czasie zapalą ci LED na porcie PB0
następnie zostanie zatrzymane działanie programu na 500 ms
i po upływie tego czasu zostanie włączony port PB1 i włączona
dioda LED nr2
i dalej będzie tak samo
_delay_ms(x); zatrzymuje ci działanie programu na czas jaki podasz między nawiasami
dla tego delay może czasami namieszać w kodzie

W drugim przykładzie zapalasz od razu wszystkie porty PB0,PB1,PB2
i dopiero potem zatrzymujesz działanie programu na 500 ms

W trzecim przykładzie również najpierw wykonujesz wszystko co jest powyżej
delaya a następnie zatrzymujesz działanie programu na czas 1 s czyli 1000 ms



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO