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



Teraz jest 5 lut 2025, o 10:57


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 9 lis 2014, o 15:55 
Offline
Nowy

Dołączył(a): 19 paź 2014
Posty: 2
Pomógł: 0

Witam :)
Mam tablicę diod 6x8. Piszę z zapytaniem, jakie zmiany wprowadzić w kodzie aby np pierwszy wiersz programowany był przez pin PD7, drugi wiersz PC0, trzeci PC1 itd.?

Obrazek



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.



Ostatnio edytowano 9 lis 2014, o 19:22 przez remi7, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2014, o 17:06 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Przede wszystkim potrzebujesz zapoznać się z tym: http://forum.atnel.pl/topic7402.html
A co do pytania: trzeba utworzyć dla każdego pinu odrębny bufor i odpowiednio zdefiniować piny. Poza tym funkcja ws_cls wymaga modyfikacji, ale dopóki nie poprawisz listingów wg powyższego przepisu to nie ma o czym mówić.
Tak na marginesie: przeróbka nie wydaje się potrzebna dla tak małej matrycy, można spoko ją sterować jednym pinem

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2014, o 08:53 
Offline
Nowy

Dołączył(a): 19 paź 2014
Posty: 2
Pomógł: 0

A mógłbyś mi napisać konkretnie co mam dopisać do kodu żebym mógł zaświecić drugi wiersz z pinu np PC0? Resztę zrobię na podstawie tego co napiszesz. Napisałeś że całą matrycę mogę sterować jednym pinem. Robię to do szkoły i dostałem wytyczne żeby każdy wiersz był sterowany innym pinem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2014, o 09:03 
Offline
Moderator
Avatar użytkownika

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

remi7 napisał(a):
Napisałeś że całą matrycę mogę sterować jednym pinem.

no pomyśl - jakbyś miał jedną DŁUUGĄ linijkę - umiałbyś już chyba na niej wyświetlać no nie ?

i teraz zawijasz ją w wiersze matrycy - więc nadal masz jedną długą linijkę ... a wyświetlenie w czegoś w wierszu X to po prostu wyświetlenie czegoś w odpowiedniej pozycji na linijce

_________________
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: 10 lis 2014, o 11:40 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Wielką zaletą tych diod jest to, że pozwalają pozbyć się plątaniny kabli. Połączenie matrycy w taki sposób jakbyś chciał trochę komplikuje hard- i software. Nie możesz przekonać w szkole, że sterowanie jednym pinem będzie lepsze?
Co prawda ta biblioteka była tworzona trochę pod takie połączenie, ale chyba nikt jeszcze czegoś takiego nie testował.
Na pierwszy rzut oka widać, że piny sterujące muszą być na jednym porcie. Jest to w tej chwili kompilowane "na sztywno". Można to zmienić, ale zakładam, że zakres przeróbek ma być minimalny, więc zostaje tak jak jest.
Jeżeli chcesz korzystać z funkcji ws_cls to trzeba ją przerobić: w tej chwili pin jest wkompilowany na sztywno, trzeba go "wyciągnąć" do nagłówka funkcji:

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

i oczywiście zmienić deklarację w ws281x.h. Można i trzeba by jeszcze podefiniować maski bitowe dla każdego pinu w pliku nagłówkowym.
To tyle co widać na szybko. Ale nie jest powiedziane, że w trakcie nie ujawni się jakiś zonk ;-)

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2014, o 16:31 
Offline
Użytkownik

Dołączył(a): 02 mar 2013
Posty: 51
Pomógł: 2

Ja steruję matrycę 10 x 10 z jednego pinu i wszystko śmiga :)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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