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



Teraz jest 21 mar 2026, o 08:05


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 23 sty 2016, o 19:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Witam po raz kolejny szanownych forumowiczów ;]

Bawię się z linijką WS2812B (dokładniej okrąg z 12 szt led) i poradnikami na ten temat.

Zauważyłem dziwne zachowanie się funkcji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jak zapalę kilka pikseli naraz, wszystko działa jak należy ale w momencie zapalenia tylko jednego, dowolnego piksela zapala się jeden ale w losowym miejscu a do tego bardzo często pojawia się zieleń w pełnej jasności na pierwszej diodzie. Co dziwne, jeżeli powtórzę funkcję ws_set_pixel wszystko wydaje się być ok.


---------------------------
Tak nie jest ok:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A tak już jest dobrze:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

--------------------

Zgłupiałem, nie wiem gdzie szukać błędu

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2016, o 19:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2014
Posty: 1089
Pomógł: 34

A masz wlaczone przerwania podczas wysylania na pasek ?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 sty 2016, o 19:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Nie, nie mam nic włączone. Tylko LEDy.

Nie wiem dlaczego, ale dodanie delaya 1ms przed wysłaniem tablicy na linijkę znacznie poprawia sytuację

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2016, o 01:00 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

A nie masz w fukcji set pixel, na koncu,wysylania przypadkiem?
Podlacz analizator lub oscy i zobacz co jest wysylane i ile ramek.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2016, o 09:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

Nie. Mam tak jak w poradnikach. Setpiksel ustawia tylko kolor a dopiero asm_send puszcza wszystko na taśmę.

Nie mam dostępu do analizatora ani oscyloskopu.

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2016, o 10:20 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Ok, a jakie masz taktowanie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2016, o 15:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

11059200

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 sty 2016, o 19:50 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

skalarro napisał(a):
11059200


A wstawka asemblerowa z 12MHz?
podesle Tobie moj kawalek, sprawdzisz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sty 2016, o 10:38 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

U mnie jest dokładnie identyczna sytuacja z tą linijką. Zapala się pierwsza dioda na zielono



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 sty 2016, o 10:50 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Macie analizator jakiś?
Myślę ze w pierwszej paczce lecą jakieś dane, zamiast samych zer.
Mozesz pokazać funkcje set_pixel?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2016, o 11:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 cze 2014
Posty: 820
Lokalizacja: Tam gdzie PYRY są
Pomógł: 64

No właśnie analizatorka nie mam żadnego a widzę że coraz częściej by się przydał. Trzeba coś pomyśleć.

Co do tematu... Nie wiem co tam w pierwszej paczce leci ale nie mam pomysłu skąd by to miało pochodzić. Nie mam przerwań, więc w zapisie do bufora nic nie przeszkadza a wysłanie bufora teoretycznie zaczyna się dopiero po jego skończonym zapisaniu. Co więcej dzieje się tak tylko jak wyślę dane natychmiast po zapisie a odczekanie 1ms całkowicie usuwa to zjawisko.

Ogólnie dodanie delaja 1ms na początku funkcji asm_send całkowicie rozwiązuje problem ale ciekawi mnie co tam się dzieje. Trzeba będzie wrócić do tematu z analizatorem. Na razie odpuszczam i działam dalej z tymi świecidełkami.i.

_________________
IntegraMETEO
WordCLOCK
IntegraTOUCH



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2016, o 11:50 
Offline
Użytkownik

Dołączył(a): 05 kwi 2014
Posty: 339
Pomógł: 10

Myślę ze musisz dać czas na zapis bufora, nie wiem ile to zajmuje..
Dopiero potem wysyłaj.
Masz na prv.

Analizator kup sobie taki nawet na usb, przydaje sie:)
Przy i2c, spi, 1wire...lepiej wiedzieć co leci, łatwiej dojść gdzie masz błąd programowy..



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO