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



Teraz jest 28 mar 2024, o 21:49


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 11 gru 2017, o 00:48 
Offline
Nowy

Dołączył(a): 07 mar 2014
Posty: 9
Pomógł: 0

Dzień dobry,
Mam problem z uruchomieniem kodu z poradnika WS2812 - Magic Led Part 07b. Obejrzałem wszystkie poradniki z tej serii, a teraz przyszedł czas na praktykę. Na początek kilka słów na temat tego na czym testuję kod. AVR to atmega1284p z kwarcem 14745600 + 10 magic ledów. Kody programu z poradników + wstawka ASM dla mojego kwarca z MKAVRCALCULATORA. Teraz wszystko ładnie mi się kompiluje ale jak wrzucam program do procka to zamiast ładnie skasować wszystkie diody tak jak to jest w poradniku (minuta 24:45 ) u mnie zapala się na zielono pierwsza dioda. Dopiero zabranie zasilanie z układu i ponowne jego podanie powoduje, że wszystkie diody gasną. Reset procka przy użyciu klawisza resetu powoduje że pierwsza dioda zapala się na zielono. Próba użycia funkcji ws_cls( pasek, 0x0f0000) - która powinna zapalić wszystkie diody na czerwono, zapala wszystkie diody ale na niebiesko. Siedziałem trochę nad tym i zauważyłem, że jeśli po funkcji ws_cls wstawię opóźnienie o wartości co najmniej 200us tj. _delay_us(200) to kod z poradnika działa. Teraz moje pytanie czy ktoś miał podobny problem ? I jak wytłumaczyć to dziwne działanie funkcji ws_cls bez tego delaya?
Poniżej funkcja ws_cls z wstawionym opóźnieniem.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 gru 2017, o 01:19 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

jaki problem - te diody wciąż zmieniają, zaglądaj do PDF'a swoich diod - z tego co widziałem to ponoć nowsze wersje mają jakieś dłuższe czasy resetu - więc co w tym dziwnego ? tym bardziej, że ci działa

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 gru 2017, o 10:18 
Offline
Nowy

Dołączył(a): 07 mar 2014
Posty: 9
Pomógł: 0

Dziwne jest to że w oryginalnym kodze funkcji ws_cls() żadnego opóźnienia nie ma, a na filmie program z funkcją ws_cls bez delalya wrzucony przez Ciebie do procka działa bez problemu. Może podczas oglądana poradników przegapiłem informacje na temat czasu resetu diod, dlatego proszę o informację czy a jeśli tak to gdzie należy zdefiniować zmienną która będzie przechowywała czas resetu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 gru 2017, o 10:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

W którymś z nowych poradników Mirek wspomina o różnicach w diodach MagicLED tych oryginalnych oraz ich klonach. Między innymi o tym, że różnią się protokołem w części czasów, szczególnie czasu resetu.

--
Pozdrawiam,
Robert



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: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 8 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