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



Teraz jest 23 lip 2026, o 21:09


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 20 kwi 2015, o 16:21 
Offline
Nowy

Dołączył(a): 18 kwi 2015
Posty: 5
Pomógł: 0

Szanowni!

Mam mały problem z pisaniem biblioteki do diod ws2812, a dokładniej, podejrzewam, że z funkcją ws_set_pixel. Wnioskuje to z tego, że gdy wywołuje taki prosty kod w funkcji main:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

to nie ma żadnej reakcji ze strony diod. Kompilacja przebiega bezproblemowo, wgrywanie tak samo.
Sprawdziłem funkcję wywoływyjącą ws281x_asm_send(x,x,x) za pomocą funkcji ws_cnt i wszytsko gra.

Pracuje na ATmega32, kwarc 11,0592 MHZ.

Czy jes ktoś w stanie wskazać gdzie się pomyliłem? :)

Poniżej zamieszam kody:

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


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


ws281x.h

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


@edit Ma ktoś pomysł?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 kwi 2015, o 17:40 
Offline
Nowy

Dołączył(a): 18 kwi 2015
Posty: 5
Pomógł: 0

Jest ktoś w stanie mi pomóc?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 kwi 2015, o 20:43 
Offline
Moderator
Avatar użytkownika

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

dlaczego nie robisz przerwy po wysłaniu danych na magic led?

_________________
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: 21 kwi 2015, o 20:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 sty 2014
Posty: 448
Lokalizacja: DKL
Pomógł: 53

@sMarek, sprawdziłem twój kod u siebie, na zestawie ATB i taśmie Magic LED.

Wszystko wydaje się być poprawnie, poza tym, że twoje funkcje z main.c wyciągnąłem przed pętlę while(1) i ładnie zapala mi się druga dioda na taśmie.

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

Dodatkowo, jeśli nadal będziesz mieć "dziwne objawy" sprawdź dokładnie zasilanie i wydajność prądową, to jest bardzo ważne w przypadku taśm Magic LED i Mirek o tym dokładnie mówił w swoich poradnikach.

_________________
Migracja z punktu B do punktu C
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 kwi 2015, o 08:15 
Offline
Nowy

Dołączył(a): 18 kwi 2015
Posty: 5
Pomógł: 0

@mirekk36
Dziękuję, sprawa rozwiązana, brakowało funkcji opóźniającej, po wklepaniu - działa.

@matw
A w jaki sposób proponujesz sprawdzić wydajność prądową? Wklepałem w googla, i jest propozycja podłączania żarówek ze skokiem +10W lub zmierzenie prądu zwarcia.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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