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



Teraz jest 3 sty 2025, o 23:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 309 ]  Przejdź na stronę Poprzednia strona  1 ... 4, 5, 6, 7, 8, 9, 10, 11  Następna strona
Autor Wiadomość
PostNapisane: 21 maja 2012, o 05:29 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

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

Wydaje mi się, że tutaj,chociaż w przerwaniach chyba są wysyłane, ale przeczytaj sobie post wyżej. Tam są zadane przeze mnie pytania i chciałbym na nie odpowiedź, bo właśnie tych miejsc kodu nie rozumiem. Czasem mam wrażenie, że nie dokońca czytacie moje posty.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2012, o 19:58 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

Jak tam? Temat się urwał? Potrzebuje jeszcze kilka porad panowie :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 14:59 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

Funkcja, któa fizycznie wysyłą dane do zatrzasku, a następnie za pomocą CLKPin wysyła na wyjścia 595:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jeśli dobrze rozumiem to pętla wewnątrz tej funkcji powinna wykonać się 8 razy? Bo jeśli zmienie na 16 to napis na prawym wyświetlaczu się ładnie przesuwa, bez żadnych przesunięć na wierszach, ale kompletnie nic nie ma na lewym wyświetlaczu.
Od samego początku mam także zmieniony bufor kolumn na 16.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 16:07 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

No widzisz, wreszcie jesteś na dobrej drodze. :)
Przemyśl to co się dzieje gdy ilość cykli ustawisz na 8 i na 16.
Podpowiedź:
MirkoT napisał(a):
UWAGA! tu masz źródło całego problemu.
3. Teraz do pierwszego rejestru przy pomocy każdego impulsu zegarowego wprowadzasz dane dla drugiego rzędu. Jednocześnie każdy impuls zegarowy stopniowo bit po bicie z pierwszego rejestru
przepisuje dane do rejestru drugiego.
4. Zapalasz drugi rząd
Operacja ta powtarzana jest dla każdego wiersza czyli 8 razy około 400 razy na sekundę
Co to oznacza? Ano właśnie to co występuje w Twoim układzie czyli:
Na pierwszej matrycy masz poprawny znak a na drugiej ten sam znak przesunięty o jedną linię w górę. Ponieważ zawsze jak do pierwszego rejestru ładujesz linię z poprawnymi danymi dla danej linii to do drugiego rejestru "przeskakują" dane które były przed chwilą w linii niżej. A przecież potem zapalasz cały wiersz który teraz składa się z 16 diodek w obu matrycach bo piny sterujące wierszami masz połączone razem.

Czy to Ci niczego nie rozjaśnia?

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 17:37 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

No czyli powinno być 16, ale też nie dokońca chodzi tak jak ma. A czemu włąsciwie przy 16 nie ma nic na lewym wyświetlaczu? Jak będzie 8 to na dwóch rejestrach będzie to samo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 19:52 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
No czyli powinno być 16, ale też nie dokońca chodzi tak jak ma. A czemu włąsciwie przy 16 nie ma nic na lewym wyświetlaczu? Jak będzie 8 to na dwóch rejestrach będzie to samo.

No oczywiście, że ma być 16! Przecież masz 16 kolumn.
Klucha napisał(a):
A czemu włąsciwie przy 16 nie ma nic na lewym wyświetlaczu? Jak będzie 8 to na dwóch rejestrach będzie to samo.


No właśnie odpowiedz teraz na to pytanie. Dlaczego nie ma nic na lewym wyświetlaczu?
To jest podstawowe pytanie

Klucha napisał(a):
Jak będzie 8 to na dwóch rejestrach będzie to samo.


Czy aby na pewno będzie to samo? Przecież to już przećwiczyłeś i wtedy miałeś na jednym to co ma być a na drugim to samo ale... przesunięte o jeden wiersz. Widać ciągle jeszcze nie rozumiesz jak to działa :(

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 19:57 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

Cytuj:
Dlaczego nie ma nic na lewym wyświetlaczu?

Bo jeszcze we funkcji przewijania w lewo muszę zmienić, aby przewijało nie o 8 miejsc w lewo tylko o 16?

Cytuj:
Przecież to już przećwiczyłeś i wtedy miałeś na jednym to co ma być a na drugim to samo ale... przesunięte o jeden wiersz.


To miałem na myśli, że na obu wyświetlaczach było to samo, ale na lewym były przesunięte wiersz.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 20:24 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
Cytuj:
Dlaczego nie ma nic na lewym wyświetlaczu?

Bo jeszcze we funkcji przewijania w lewo muszę zmienić, aby przewijało nie o 8 miejsc w lewo tylko o 16?


To zmień, sprawdź i napisz jakie są efekty

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 20:27 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

No właśnie nie ma efektów. Bufor kolumn mam na 16. Pętle do przekazywania bitów na 595 mam na 16. O czym zapomniałem? Czemu się tak dzieje?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 20:38 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
No właśnie nie ma efektów. Bufor kolumn mam na 16. Pętle do przekazywania bitów na 595 mam na 16. O czym zapomniałem? Czemu się tak dzieje?

Czyli co się dzieje?
Bo w programie który ostatnio posłałeś w ogóle nie ma żadnego przesuwania napisów.
Jest tylko statyczne wyświetlanie kolejnych znaków na jednym wyświetlaczu ;)

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 20:50 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

Bo sobie co chwile włączam inne fragmenty w pętli głównej. Ale dla każdej funkcji w main działa tylko prawa matryca. Jest to spowodowane tym, że gdzieś jeszcze nie zmieniłem kolumn na 16? To może małą podpowiedź?

Mam jeszcze takie pytanko, czy rezystory ograniczające prąd mogą być odrazu na wyjściu ULN, czy muszą być przy każdym wyjściu 595? Bo tak na płytce zamist 40 rezystorów mam 8 ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 maja 2012, o 21:07 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
Bo sobie co chwile włączam inne fragmenty w pętli głównej. Ale dla każdej funkcji w main działa tylko prawa matryca. Jest to spowodowane tym, że gdzieś jeszcze nie zmieniłem kolumn na 16? To może małą podpowiedź?

Mam jeszcze takie pytanko, czy rezystory ograniczające prąd mogą być odrazu na wyjściu ULN, czy muszą być przy każdym wyjściu 595? Bo tak na płytce zamist 40 rezystorów mam 8 ;)

A jakbyś tak wziął kartkę, ołówek i przeanalizował sobie co się dzieje w takiej funkcji która nazywa się...

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


dokładnie i po kolei rozpisał sobie każdą operację. Co się zmienia i gdzie.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 05:23 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

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

Funkcja ta przesuwa wiersze w lewo. W zależności jaką liczbę poda się jako argument ona będzie przesuwać w lewo tyle razy ile razy ma być wykonywana pętla. Następnie wskazuje na element tablicy wierszy. Zmianiłem na 16 i żadnej poprawy.Chociaż wydaje mi się, że powinno być 8, bo mamy 8 wierszy.

Zadam jeszcze raz pytanie,
-czy rezystory ograniczające prąd mogą być odrazu na wyjściu ULN, czy muszą być przy każdym wyjściu 595? Bo tak na płytce zamist 40 rezystorów mam 8.
-Czemu włąsciwie dane wprowadzane są na lewy 595, a nie na prawy. Ja bym myślał, że jeśli napis przesuwany jest w lewo to dane muszą iść najpierw na prawy i przesuwać w lewo?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 05:45 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

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

Funkcja ta przesuwa wiersze w lewo. W zależności jaką liczbę poda się jako argument ona będzie przesuwać w lewo tyle razy ile razy ma być wykonywana pętla. Następnie wskazuje na element tablicy wierszy. Zmianiłem na 16 i żadnej poprawy.Chociaż wydaje mi się, że powinno być 8, bo mamy 8 wierszy.


Wcale nie chodzi o to, żeby pozmieniać wszędzie gdzie się da na 16 :(
A napisałem - weź kartkę, ołówek i przeanalizuj sobie co ta funkcja robi! DOKŁADNIE! Krok po kroku. A Ty co? Zmieniłeś na 16 i piszesz, że nie działa :(
To, że przesuwa w lewo to wiadomo z komentarza. Zrób jak napisałem. Dodatkowa lektura w książce Mirka strony: 71 do 74 oraz 95 do 98.

Klucha napisał(a):
Zadam jeszcze raz pytanie, czy rezystory ograniczające prąd mogą być odrazu na wyjściu ULN, czy muszą być przy każdym wyjściu 595? Bo tak na płytce zamist 40 rezystorów mam 8.

Zamierzasz podłączyć 5 matryc?
A ja zapytam - a po co są te rezystory? Jaki jest sens ich stosowania i jaka rola w projekcie?
Narysuj sobie schemat i zastanów się chwilę jak płynie prąd w takich obwodach? Jakie mogą być różne stany?
Jak się nad tym zastanowisz będziesz miał odpowiedź. Jeśli nadal nie będziesz wiedział zapytaj jeszcze raz ;)
Ale zrób to co napisałem - narysuj sobie schematy. DOKŁADNE schematy!

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 05:57 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
-Bo tak na płytce zamist 40 rezystorów mam 8.

A i jeszcze jedno, już SunRiver Cię pytał. Dlaczego tak bardzo chcesz oszczędzać te rezystory? Jeden rezystor to 0,02zł, 2gr (słownie: dwa grosze). Czyli za te 40 rezystorków zapłacisz... tylko że trzeba się trochę nalutować :lol: Ale jak tego nie lubisz to po co bawić się w elektronikę?
Klucha napisał(a):
-Czemu włąsciwie dane wprowadzane są na lewy 595, a nie na prawy. Ja bym myślał, że jeśli napis przesuwany jest w lewo to dane muszą iść najpierw na prawy i przesuwać w lewo?

Bo pewnie w takiej kolejności masz podłączone 595 sprawdź ze schematem ;) Tylko najpierw musisz go narysować :lol:

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 15:05 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

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


jak sama nazwa mówi przesuwa wiersze w lewo. Tzn, przesuwa w lewo to co wysyłane jest na 595. Wstawia także przed każdym znakiem z fontów (które są uporządkowane jak w kodzie Ascii, potem wytaczy odjąć tylko 32, aby uzyskać rządany znak). Poprostu przy każdym wejściu w tą funkcje pętla for zostanie wykonana 16 razy, czyli każdy element tablicy(bo tak wskazuje pętla) zostanie przesunięta o 1 w lewo (chyba, że jako argument podamy inną liczbę).

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


Za każdym razem wejścia do tej funkcji, czyli podczas pobierania znaku tak jak pisałem wstawia pustą kolumnę. Potem w pętli pobierana jest tablica do bufora. Pętla ta przesunie każdy znak, który jest 5x8 w lewo 16 razy. Tylko nie za bardzo ruzmiem ten fragment:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Wydaje mi się, że znak pobierany jest w pamięci flash, potem po wejściu w pętle for (u8 j=0; j<8; j++) 8 razy zapisze każdą kolumnę. Czyli tu pownno być także 16? Czy dobrze myśle? Jakby co to pytaj mnie dalej postaram się zmusić, aby to bardziej zrozumieć.

Poniżej zamieszczam schemat. I nie to, że mi się nie chce lutować tylko poprostu uprościłbym sobie płytkę, gdyby działało to poprawnie. Rezystory te są do ograniczenie prądu diody, a wydaje mi się, że jeśli byłyby one przy ULN to właściwie podciągniecie ULN do Ucc byłoby zapewnione (układ OC) oraz ograniczyły prąd do każdej z diod.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 18:44 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Wiesz, patrząc na ten schemat nie bardzo rozumiem o co Ci chodzi i w czym jest problem :(
Zaś co do rysowania schematów to polecam obejrzeć ten materiał http://mirekk36.blogspot.com/2012/04/kurs-eagle-part-01.html i następne dotyczące rysowania schematów, które z łatwością znajdziesz jak już będziesz na blogu.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 18:49 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

Schemat jest narysowany tak na szybko, chciałem tylko przedstawić jak planuje wykonać. Drobne poprawki w rysowaniu jeszcze naniosę, żeby to wyglądało. Chciałem tylko się dowiedzieć czy taki schemat może w miarę być. Czy jest dobrze narysowany? I zrobiłem rezystory przy wyjściu każdego 595 ;)

Wracając do porgramu i postu wyżej to dobrze rozumiem? Co jeszcze byś dodał? Dzisiaj trochę siedziałem i myślę, że zrozumiałem tą funkcję, ale i nie tylko. Ale nadal nie widzę, przyczyny mojego problemu. Domyślam się może, że do bufora wprowadzam 8 bitów znaku, a na 595 16.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 19:49 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

ULN'y to bufory, tak? Czyli ich zadaniem jest odseparowanie układów które mogą dostarczyć mało prądu od układów które tego prądu potrzebują zdecydowanie więcej.
Jeżeli masz to podłączone tak jak na schemacie to po co miałbyś dawać rezystory za 595 a przed ULN. Te rezystorki muszą być właśnie przed samymi diodami tak żeby ograniczały ich prąd.
A nie rozumiem o co Ci chodzi bo:
1. zastosowałeś 4 x ULN
2. na wyjściach ULN rezystory
To daje 4*8 rezystorów czyli...
To gdzie te oszczędności o których pisałeś?
Co innego piszesz, a co innego jest na schemacie. :(

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 19:53 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

Kolego, na schemacie mam
-1x ULN,
-5x matryce LED,
-5x 74HC595 SMD z rezystorkami przy wyjściach, 8*5=40 rezystorów.


A jak mówiłem o oszczędności to miałem na myśli
-1x ULN, rezystorki przy wyjściach, tylko 8
-5x matryce LED,
-5x 74HC595 SMD.

I o tym cały czas mówię.
A jeśli chodzi o poprawność to schemat jest ok?

Dobra, ale powróćmy do programu (posty wyżej).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 19:57 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
Domyślam się może, że do bufora wprowadzam 8 bitów znaku, a na 595 16.

No wreszcie to do Ciebie dotarło. To jest całe clou problemu

A tak swoja drogą, to ten fragment kodu jest świetny! Na prawdę polecam Ci rozpisać to sobie na kartce linijka po linijce. Wiele można się z tego nauczyć
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 20:00 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
Kolego, na schemacie mam
-1x ULN,
-5x matryce LED,
-5x 74HC595 SMD z rezystorkami przy wyjściach, 8*5=40 rezystorów.


A jak mówiłem o oszczędności to miałem na myśli
-1x ULN, rezystorki przy wyjściach, tylko 8
-5x matryce LED,
-5x 74HC595 SMD.

I o tym cały czas mówię.
A jeśli chodzi o poprawność to schemat jest ok?

Dobra, ale powróćmy do programu (posty wyżej).

No cóż, nie taki schemat zapodałeś na forum :shock:
Zresztą możesz go sobie pobrać i sprawdzić co posłałeś
Co innego mówisz co innego posyłasz...
Skoro tak do tego podchodzisz i nie szanujesz mojego czasu... :(

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2012, o 20:01 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

Sorki kolego przesłałem ci nie ten schemat. Naprawdę przez nie uwagę. Ogromnie przepraszam ;)
Czy ten schemat jest poprawnie narysowany? Tutaj zrobiłem do każdego wyjścia 595 rezystor, czy byłoby poprawnie, jak tylko 8 rezystorów byłoby przy ULN?

To właśnie w tym miejscu robie kuche? W tym kodzie co podałeś? Bo właśnie tutaj zapisuje do bufora pamięci kolumny. W innym miejscu już nie, tylko za bardzo nie mogę rozszyfrować tego fragmentu. Jutro z nowymi siłami spróbuje.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2012, o 07:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8589
Pomógł: 337

Kolego Klucha :

Zostaw te rezystory przy 595 i nie dawaj ich na ULN bo możesz mieś efekty cieplne jak zaświecisz wszystkie
matryce, z uszkodzeniem 595 włącznie dlatego dałem je tam.

Posłuchaj kolegi Mirkot: Dobrze Ci radzi.

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2012, o 09:38 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Już odpocząłeś po dalekiej podróży :D

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2012, o 13:37 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

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


Na lewym wyświetlaczu ładnie przesuwa napis, ale na lewym głucho. Wiem, że problem jest w tym, że do bufora kolumn zapisuje 8 bitów, a do 595 wbijam 16. Wydaje mi się ,że problem tkwi w tej funkcji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

Ponieważ powinien zapisywać 16 bitów. Ale nie chodzi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2012, o 14:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8589
Pomógł: 337

MirkoT napisał(a):
Już odpocząłeś po dalekiej podróży :D


Trzymam się ze 2 dni miną zanim się dostosuje do zmiany czasu znowu :(

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2012, o 16:50 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
Ponieważ powinien zapisywać 16 bitów. Ale nie chodzi.


A dlaczego nie przeczytałeś tego o czym Ci napisałem parę postów wyżej?

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2012, o 19:38 
Offline
Użytkownik

Dołączył(a): 16 lut 2012
Posty: 219
Pomógł: 1

Tylko, że właśnie nie za bardzo umiem rozszyfrować
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


Pętla wykonywana jest 8 razy. Za każdym razem zwiększana jest zmienna pętli. Wyłuskiwanie jest bitów kolumny (no właśnie nie wiem z czego, wiem że z pamięci flash, pewnie chodzi o fonty, ale ni widzę w jaki sposób). Przekazywane jest do bufora kolumn różnica maksymalnej ilości tablicy z zmienną pętli i ustawiany jest bit |=1<<(4-i) lub zerowany. Nie za bardzo czuję jak to działa. W sumie bezmyślnie zmieniłem na :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

I nie jestem pewien czy tylko ten fragment jest przyczyną problemu. Czy możecie mnie naprowadzić i wytłumaczyć?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 maja 2012, o 20:16 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Klucha napisał(a):
Pętla wykonywana jest 8 razy. Za każdym razem zwiększana jest zmienna pętli. Wyłuskiwanie jest bitów kolumny (no właśnie nie wiem z czego, wiem że z pamięci flash, pewnie chodzi o fonty, ale ni widzę w jaki sposób). Przekazywane jest do bufora kolumn różnica maksymalnej ilości tablicy z zmienną pętli i ustawiany jest bit |=1<<(4-i) lub zerowany. Nie za bardzo czuję jak to działa. W sumie bezmyślnie zmieniłem na :

I nie jestem pewien czy tylko ten fragment jest przyczyną problemu. Czy możecie mnie naprowadzić i wytłumaczyć?

Oczywiście, że możemy. Proszę bardzo

To już Ci wcześniej sugerowałem do przeczytania
Dodatkowa lektura w książce Mirka strony: 71 do 74 oraz 95 do 98.

A skoro nie bardzo wiesz skąd i jak to działa to jeszcze dodatkowo od strony 153 do 164

Konieczne jest czytanie ze zrozumieniem :D

_________________
Jestem początkujący i moje porady mogą być błędne



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: 309 ]  Przejdź na stronę Poprzednia strona  1 ... 4, 5, 6, 7, 8, 9, 10, 11  Następna strona

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