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



Teraz jest 28 wrz 2024, o 20:31


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 47 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 4 sie 2012, o 23:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Witam,

Mam problem :) po 4 dniach gimnastyki postanowiłem zapytać na forum.
Nikt nie założył tematu z wyświetlaczem wiec domyślam się że każdemu działa. U mnie jednak cały czas świeci się biały ekran.
Co prawa nie mam zestawu ATB, jednak połączenia mam w/g schematu. uC - mega32 (nowy, specjalnie do tego projektu)
hex wgrałem bez modyfikacji, prosto z płytki. Nie wiem jak wielkie znaczenie ma odpowiedni kwarc, jednak w książce nie zmalałem informacji o konkretnym taktowaniu. (testowałem z zew 8, 10, 16, 18.432 MHz bez powodzenia) sprawdziłem ciągłość przewodów od wyjścia z uC do wejścia goldpin na sterowniku. Sprawdzałem oscyloskopem sygnały sterujące i głównie są same stany wysokie, na liniach danych wszystkie stany niskie.

Nie jest to mój pierwszy wyświetlacz jaki testuje, pierwszy graficzny, ale alfanumerycznych już kilka przerobiłem i nie miałem większych problemów.

Myślicie że jest to kwestia programu ? mimo że go nie zmieniałem, czy wyświetlacza ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2012, o 00:49 
Offline
Moderator
Avatar użytkownika

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

Tzn ja na gorąco tak z telefonu wieczorem hmmm w zasadzie w nocy, podpowiem że każdy ale to każdy egzemplarz tego lcd sam osobiście podłączam i testuję tak jak to widać na filmiku na naszej stronie atnel.pl.

Podpowiem też że kwarc nie ma tu znaczenia bo do obsługi wyświetlacza nie są używane żadne delaye ;) nawet przy taktowaniu 27MHz ;)

Winne jak mi się wydaje mogą tu być tylko połączenia bo widać że się lcd nie inicjalizuje. A masz wyłączony JTAG w fusebitach ???? Bo przecież używany jest port C.

specjalnie sam składam przed wysyłką lcd z konwerterem żeby wykluczyć też później to że ktoś tu sobie coś źle podepnie. Aha i testuję jednocześnie zawsze też od razu panel dotykowy. ani jednego w testach nie pomijam. testuję wsadem z lekcji bodajże 15 z touch panelem

jak coś to łap mnie na skype albo dzwoń pomogę uruchomić ;)

A i napisz dokładnie jakie linie lcd tzn konwertera podłączyłeś i do jakich pinów procka?

To MUSI DZIAŁAĆ ;)


Autor postu otrzymał pochwałę

_________________
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: 5 sie 2012, o 07:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Faktycznie JTAG był włączony, jednak po wyłączeniu nadal mam ten sam efekt.

Obrazek

Czy jest możliwe że przez to coś się stało z wyświetlaczem ? Układ dostałem zmontowany, toteż zakładałem że był testowany i popsutego byście nie wysłali :)

Jeśli chodzi o podłączenie to zgodnie ze schematem z filmu. Linia kontrolna PortC + I2C port 0 1, Linia danych cały port A.
Jedno mnie zastanawia, o ile dobrze pamiętam to w wyświetlaczach alfanumerycznych jak odłączę masę pada wyświetlacz, tu jednak cały czas świeci się na biało, dopiero jak odepnę całą linie danych, wtedy gaśnie. Sprawdzałam wypinając pojedyncze piny, ale nie gaśnie, także cała linia musi robić za masę, czy tak powinno być ?

Zmontuje cały układ na płytce stykowej, może coś jest nie tak z moim Gotronikiem...

Czy można sprawdzić oscyloskopem na którym pinie powinna zacząć się inicjacja ? tak żeby sprawdzić czy program się nie zawiesza na początku ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2012, o 07:59 
Offline
Moderator
Avatar użytkownika

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

Po pierwsze jakieś niefortunne podłączenie tak jak kolega opisywał, że np był włączony JTAG, czy nawet niechcący zamiana portów czy pinów na pewno nie może uszkodzić wyświetlacza ponieważ chroni go KONWERER i to bardzo dobrze ;)

Zanim przejdę dalej dopytam jeszcze raz czy połączenia są tak zrobione jak w kodzie programu ????

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


czy tak jest ??? zgodnie zresztą z rysunkiem:

Obrazek

Tylko proszę spojrzeć gdzie są linie D0 ... D7

Za podświetlenie nie jest odpowiedzialna ŻADNA linia danych D0..D7 ;) ... za podświetlenie odpowiedzialna jest linia BL_E na pinach kontrolnych i wystawienie na nią stanu niskiego lub wysokiego będzie załączać bądź wyłączać podświetlenie.

_________________
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: 5 sie 2012, o 08:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

HURA !! :lol:

Zagadka rozwiązana.
Problem był z kabelkami, musiałem mieć pecha jak je sprawdzałem i widocznie w tym momencie był dobrze dociśnięty, jednak po włożeniu w piny odgiął się. Jednak bez wskazówki o JTAG, pewnie i z dobrym kablem bym nic nie zrobił.

Sam wyświetlacz prezentuje się bardzo dobrze :) mimo małej czcionki napisy są bardzo wyraźne, można zmieścić sporo informacji tekstowej. Podobnie jak na filmie mogę potwierdzić że panel dotykowy ma "płynną czułość" - dobrze reaguje :)

Wskazówka dla innych, mimo że nie ma znaczenia jaki kwarc, to ma znaczenie czy jest dobry czy nie, działałem na 16MHz jednak na oscyloskopie nie widziałem sin, ale mogłem się połączyć z uC i uznałem że jakoś tam działa. Jednak teraz jak uruchomiłem wyświetlacz, zaczął mieć objawy braku sygnału, taki szum TV, tyle że kolorowy. Ustawiłem na wew kwarc 8MHz i działa.

Dziękuje Mirek za pomoc, teraz mogę modyfikować kod do moich potrzeb. :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sie 2012, o 08:11 
Offline
Moderator
Avatar użytkownika

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

Hass-pol napisał(a):
Jedno mnie zastanawia, o ile dobrze pamiętam to w wyświetlaczach alfanumerycznych jak odłączę masę pada wyświetlacz, tu jednak cały czas świeci się na biało, dopiero jak odepnę całą linie danych, wtedy gaśnie. Sprawdzałam wypinając pojedyncze piny, ale nie gaśnie, także cała linia musi robić za masę, czy tak powinno być ?


No a mnie bardzo zastanawia co tutaj kolega ma na myśli i troszkę mnie przeraża przyznam szczerze to co kolega pisze, ponieważ tak sobie wyobrażam tylko (ale może źle to proszę mnie poprawić) .... że kolega nie podłączył albo odłącza masę od wyświetlacza w trakcie jego działania.... ???? Chodzi i pin GND ???? No bez podłączonej MASY czyli GND może nawet dojść do uszkodzenia (konwertera) .... W ogóle należy sobie wyjąć z głowy jakieś odłączanie MASY - to niemożliwe. Co jak co ale MASA ..... zawsze MUSI być połączona i to jako pierwsza....

No a moja największa konsternacja to to że czytam wniosek iż cała linia danych musi robić za masę ???? hmmm tu jednak się totalnie gubię bo albo ja czegoś nie rozumiem w tym co kolega pisze albo kolega pisząc MASA nie ma na myśli tego co ja. Linia danych - NIGDY w żadnym wypadku, w żadnym urządzeniu nie może być masą :( ... Owszem może niestety dochodzić do takiej sytuacji jeśli właśnie nie podłączy kolega kabla GND czyli masy konwertera z masą (GND) procesora (układu sterującego) .... wtedy jest nawet gorzej bo linie danych w stanie niskim mogą rzeczywiście być pośrednikami potencjału masy natomiast linie w stanie wysokim mogą być pośrednikami dla VCC .... no ale takie pominięcie połączenia właściwej masy GND obu układów może czasem prowadzić tylko do katastrofy - nie zawsze , ale może.....

dlatego proszę mi napisać czy masa GND i VCC są prawidłowo podłączone do układu z prockiem ???

------------------------ [ Dodano po: 2 minutach ]

No tak teraz można już bawić się z programem ;) .... ale to jaki zastosujesz kwarc ma znaczenie o tyle, że przy taktowaniu 8MHz wszystkie operacje na takim LCD będą odbywać się w ślimaczym tempie. Minimalny zalecany kwarc to 16MHz a najlepiej ze 20MHz nawet jeśli procek jest tylko na 16MHz to spokojnie można go przetaktować do 20MHz - ręczę za to własną głową i nic się nie stanie. A jak się stanie to oddam ci procka ;)

_________________
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: 5 sie 2012, o 08:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Na szczęście nic się nie spaliło, mimo braku GND :? Człowiek czasami robi różne testy :)

Teraz jak już działa układ, mogę się bawić overclocking :) Mimo że zawodowo zajmuję się serwisem i spotykam się z różnymi awariami to najgorsze są takie które zawierają kilka błędów, nic odkrywczego, ale czasami można spędzić godziny na szukaniu niedokręconego kabelka. U mnie był kabelek, kwarc i JTAG.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sie 2012, o 19:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Zamontowałem 20MHz :shock: w porównaniu z 8MHz to niebo i ziemia.
Szybkość reakcji na to co się dzieje miedzy panelem dotykowym a wyświetlaczem jest rewelacyjna, prawie w ogóle nie ma opóźnienia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sie 2012, o 20:22 
Offline
Moderator
Avatar użytkownika

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

No niestety 8MHz to na prawdę dużo dużo za mała częstotliwość dla takich zastosowań ;) .... A sprawdź sobie też kwarc np 24MHz bo też można spokojnie do tylu przetaktować procka ;)

_________________
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: 6 sie 2012, o 22:04 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3201
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 90

24? Jaka ATmega? Mnie ATmega 16 pracuje do 20. Przy 24 ma szybkość jakby dostała 12 MHz. Muszę wreszcie sobie zrobić ten miernik częstotliwości. ;)

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sie 2012, o 23:07 
Offline
Moderator
Avatar użytkownika

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

Jaglarz napisał(a):
24? Jaka ATmega? Mnie ATmega 16 pracuje do 20. Przy 24 ma szybkość jakby dostała 12 MHz. Muszę wreszcie sobie zrobić ten miernik częstotliwości. ;)


To coś ci się musiało poprzestawiać czy pomylić ;) bo 24MHz to wbrew pozorom niewielkie przetaktowanie procka i działają najnormalniej w świecie ;) praktycznie każdy zwykły AVR - więc co to za różnica czy ATmega16, czy ATmega32 czy jakiś inny ?

poważnie sprawdź - ja ręczę głową że będzie 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: 6 sie 2012, o 23:25 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3201
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 90

Niewielkie przetaktowanie?? Z 16 na 24? Czyli całe 50%??

Nie mam czym zmierzyć częstotliwości, ale nawet pobór prądu przy 24 MHz jest identyczny jak przy 12 (w/g datashita i zmierzony) .

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 00:00 
Offline
Moderator
Avatar użytkownika

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

Jaglarz napisał(a):
Niewielkie przetaktowanie?? Z 16 na 24? Czyli całe 50%??


Wiesz, dla mnie to niewielkie - bo co powiesz na przetaktowanie procka ATmega z literką "L" na końcu ;) czyli pracującego wg noty PDF tylko do 10MHz - a ja przetaktowuję je z powodzeniem także do 24-25MHz (ale UWAGA! tu już trzeba pamiętać, że KONIECZNIE TRZEBA USTAWIĆ FUSEBIT - CKOPT!!! ;) .... i naturalnie przy napięciu zasilania +3,3V !!! ;)
Oczywiście trzeba się liczyć, że przy tym mogą już wystąpić problemy ew z zapisem do EEPROM - no ale jeśli nie potrzeba zapisu do EEPROM to procek ślicznie pracuje ;)

Wobec tego cóż to jest przetaktowanie procka m16 z 16 na 25MHz przy zasilaniu +5V ???? to PIKUŚ ;) i nawet bez CKOPT to śmiga, chociaż warto go też ustawić.

Jaglarz napisał(a):
Nie mam czym zmierzyć częstotliwości, ale nawet pobór prądu przy 24 MHz jest identyczny jak przy 12 (w/g datashita i zmierzony) .


Może zamiast mierzyć częstotliwość rzędu 24MHz - to napisz krótki byle programik żeby jakiś Timer1 dzielił ci sam ładnie częstotliwość przy taktowaniu 24MHz tak aby dioda migała co 1Hz czyli co sekundę. Toż to bez żadnego miernika uda się zaobserwować .... Gdyby ci procek nie działał na 24MHz a na 12MHz jak mówisz - to od razu widziałbyś że dioda nie miga co sekundę prawda ? ;) ---- więc to super prosty test.

_________________
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: 7 sie 2012, o 07:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 449
Pomógł: 4

No to teraz się zacznie bonanza :lol:
Oj Mirek, zaczną się eksperymenty, nie trzeba było nic pisać o tym, że można pędzić nasze procesory szybciej, niż nominalnie. Zanim byśmy się zorientowali, trochę czasu miałbyś spokój :lol:
Czekać tylko kolejnych rekordów w przetaktowaniu proców, oj będzie się działo.
Kto pierwszy osiągnie 100MHz :mrgreen:



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

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

Albo 1 GHz ;)

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 08:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 449
Pomógł: 4

Zapomniałem dodać, że 100MHz na procku ATtinny 13 :mrgreen:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 08:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Z chłodzeniem azotowym :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 09:33 
Offline
Moderator
Avatar użytkownika

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

Ale ja pisałem o bezpiecznym przetaktowaniu ;) za to sam obiecuję sobie wciąż, że jak będę miał czas to pobawię się w testy ile wytrzymują na maxa różne modele i co się dzieje z nimi w trakcie takich tortur ;)

Przyznam, że jak raz próbowałem ze zwykłym kwarcem 30MHz to już procek się nie odzywał - pewnie trzeba by było jakiś generator TTL zapodać na XTAL1 ;)

Wiecie co ? na elektrodzie takie coś napisać to od razu byłby LINCZ i betonowe skarpetki ;) .... a tu ? zachęcam wszystkich do takich prób - a co to szkodzi ;) procek się nie uszkodzi - a jeśli np przy 30-40MHz coś nie będzie działać do końca ok to każdy ma świadomość z jakiego powodu.

_________________
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: 7 sie 2012, o 10:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 449
Pomógł: 4

mirekk36 napisał(a):
Ale ja pisałem o bezpiecznym przetaktowaniu ;) (...)


Myślisz, że to nas powstrzyma od sprawdzenia tego "niebezpiecznego" przetaktowania? :twisted:
Po powrocie z pracy robię przegląd kwarców, ale obawiam się, że większego niż 20Mhz nie znajdę. Trzeba będzie zamówić większe :cry:

mirekk36 napisał(a):
Wiecie co ? na elektrodzie takie coś napisać to od razu byłby LINCZ i betonowe skarpetki


No to zrobić im trzeba psikusa. Opublikować jakiś projekt z takim przetaktowanym procem. Ciekawe, po jakim czasie by się zorientowali.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 10:10 
Offline
Moderator
Avatar użytkownika

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

worner napisał(a):
No to zrobić im trzeba psikusa. Opublikować jakiś projekt z takim przetaktowanym procem. Ciekawe, po jakim czasie by się zorientowali.


Hahahaha a to byś się nasłuchał w tamtejszym DIY, pojechano by po tobie jak nie powiem po czym, nasłuchałbyś się od takich i owakich, że nie słuchasz się zaleceń inżynierów, że nie wiesz co robisz, że tak nie można, dlaczego nie weźmiesz do tego Xmega albo ARM ;) ..... hahaha no no to byłby kij w mrowisko ;) Od razu cała sfora atakerów i malkontentów by się zebrał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: 7 sie 2012, o 11:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 gru 2011
Posty: 449
Pomógł: 4

No i murowane pytanie na pewno by się pojawiło:

Ile wyniósł koszt budowy tego urządzenia? :lol:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 11:44 
Offline
Moderator
Avatar użytkownika

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

worner napisał(a):
Ile wyniósł koszt budowy tego urządzenia? :lol:


hahahahaha no ale jeszcze:

"a gdzie jest wsad, schemat, kod źródłowy i wzór płytki w PDF?????"

_________________
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: 7 sie 2012, o 18:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

To ja mam bardziej przyziemne pytanie.
Testowałem :) różne kwarce, jak na razie 20 śmigał, przy 25 już się nie odpalił.
Zastanawiam się jak wielki wpływ mają kondensatory... przy taktowaniu do 12MHz, czy są czy ich nie ma to nie miało wpływu na pracę, może sin miała nieco większą amplitudę Vpp.
Jakie są przedziały pojemnościowe dla kwarców ? można jakoś określić przedziały do konkretnych częstotliwości ?
Jak do tej pory stosowałem przedział od 12p do 27p.
Dodatkowo jak wieki wpływ ma grubość ścieżki ? odległość kwarcu od XTAL, wiem że powinna być możliwie najkrótsza, ale są jakieś tabele odnoszące się do konkretnych częstotliwości ?
Po przeniesieniu układu z płytki stykowej na PCB może okazać się że nie wszystko działa jak powinno :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2012, o 20:48 
Offline
Moderator
Avatar użytkownika

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

A ja jestem ciekawy czy programowałeś Fusebit CKOPT jeśli to był procek taki jak np ATmega32 itp , albo czy programowałeś opcję FULLSWING dla takich procków jak np ATmega644PA .... pisałem o tym wyżej ze dwa razy .... niestety bez tego może nie ruszyć powyżej 24MHz

------------------------ [ Dodano po: kilkunastu sekundach ]

kondensatory zwykle zawsze mam 22pF

_________________
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 sie 2012, o 16:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Na razie nie podkręcam, ale kiedyś zrobię takie testy.

Jednak mam pewien problem, niby prosta rzecz, ale nie działa tak jak powinno.
Chciałem zrobić prosty przerzutnik RS, dwa przyciski (wyświetlacz + dotykowy panel) i dioda.
Wszystko pięknie działa, jedn przycisk włącza, drugi gasi diodę.
Jednak mam problem z "tekstowym potwierdzeniem", chcę aby w tym samym miejscu na wyś. pokazywał się raz napis "LED on" "LED off" w zależności od stanu diody.
Myślałem że sprowadza się to tylko do takiego kodu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Jednak nie dość że napisy nakładają się na siebie.

Przy takim postawieniu sprawy dioda cały czas się świeci i wyświetla się tylko STAN - OFF
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

show_state1(); wstawiałem w pętle while(1) if

Czy jest jakaś komenda do czyszczenia danego obszaru wyświetlacza ? Czy jest jakiś prosty sposób aby móc zmieniać treści tekstową tak łatwo jak liczbową ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sie 2012, o 19:12 
Offline
Moderator
Avatar użytkownika

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

Pominę już opis babolków w logice kodu, który przedstawiłeś bo powiedział o nich kolega wyżej, ale podpowiem ci jakie się techniki stosuje na wyświetlaczach graficznych tego typu w celu wyświetlania różnych stanów w tym samym miejscu, np różnych napisów.

Zresztą hmmm no przecież nawet w kodzie z książki masz co nieco o tym ale ok podsumujmy:

1. PIERWSZY SPOSÓB - tylko dla czcionek proporcjonalnych - czyli o stałej szerokości znaku

- jak widzisz ten sposób to po prostu zdecydowanie się na czcionkę proporcjonalną ;) toż jak wyświetlę napis

Mikrek fontem np "Courier NEW" to każdy znak (nawet spacja jeśli tak ustawisz) będzie miał tę samą szerokość. Zatem żeby wyświetlić napis Piotrek, wystarczy wyświetlić go na tych samych współrzędnych i on przykryje poprzedni napis. Ale jeśli potem chcesz wyświetlić krótszy napis nap "RAK" no to wiadomo że trzeba będzie dodać na jego końcu np kilka spacji "RAK "


2. DRUGI SPOSÓB (pozwala korzystać z czcionek nieproporcjonalnych)

określasz sobie obszar w którym ma się pojawić napis. Masz nawet przygotowane funkcje, które obliczają długość tekstu w pikselach do takich potrzeb a ważne jest w przypadku czcionek nieproporcjonalnych właśnie. I teraz przed każdym wyświetleniem tekstu kasujesz ten obszar, prostokąt.

W tym miejscu nawet nie mogę wyobrazić sobie jak możesz pytać o to czy jest jakaś komenda do czyszczenia obszaru wyświetlacza ;) ?????

No toż pewnie że jest, tylko że jeśli o to pytasz to widać, że nie analizowałeś w ogóle bibliotek i opisów w książce niestety :( Tylko że pewnie ty sobie nie zdajesz nawet sprawy że w książce dostałeś podpowiedź na dwa sposoby jak skasować obszar. Jeden zawarty jest w samych komendach sprzętowych wyświetlacza - no bo jakby mogło czegoś takiego zabraknąć w TAKIM wyświetlaczu ? ;) ..... i pokazuję te komendy podczas opisywania tworzenia po kolei bibliotek - tylko trzeba przeczytać ;)

Ale nawet jakbyś nie przeczytał o tym jak tworzy się te biblioteki ;) .... no to kurczę - masz sporo nadrzędnych i GOTOWYCH funkcji do obsługi grafiki. Nie widzisz tam funkcji do:

- rysowania linii
- rysowania okręgu/elipsy
- rysowania kwadratu/prostokąta

a do tego jeszcze są podwójne wersje z opcją FILL czyli wypełnienia tłem takich figur

no to jak może zabraknąć pomysłu żeby wykorzystać sobie funkcję do rysowania prostokąta w celu kasowania fragmentu ekranu ??? hmmm ???? no toż przecież masz od ręki ... co więcej jak zajrzysz do kodu jak ona jest zrobiona to dojdziesz i dokopiesz się do komend sprzętowych za pomocą których w najszybszy sposób kasujemy fragment ekranu

tylko MUSISZ sobie zdać sprawę co oznacza słowo SKASOWAĆ EKRAN albo jego fragment ;)

przecież to wyświetlacz RGB !!!! ;) więc to całe SKASOWANIE polega na wypełnieniu określonego obszaru bitami wybranego koloru - to jest skasowanie. Jeśli więc założysz sobie że np w twojej całej aplikacji tło jest CZARNE to aby skasować jakiś fragment musisz wypełnić panie kolego obszar pikselami w kolorze hyhyhy czarnym czyli zgasić wszystkie piksele wysyłając same zera

3. TRZECI SPOSÓB - którego nie zaprezentowałem w książce - nieco bardziej skomplikowany ale dający świetne dla oka rezultaty to rysowanie przeźroczystych czcionek ;) czyli rysujemy tylko piksele czcionki a nie tła ;) .... no ale żeby to móc robić to trzeba byłoby jeszcze uruchomić opcję odczytu z wyświetlacza aby pobierać tło na którym ma się wyświetlić czcionka - a zatem należałoby już sobie dość mocno przebudować biblioteki z podstawowymi funkcjami obsługi grafiki


Autor postu otrzymał pochwałę

_________________
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: 13 sie 2012, o 15:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Z funkcja pokrywania ("zamazywania") poprzedniego wyświetlenia działa dobrze :) jak zwykle bardzo dziękuję za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sie 2012, o 19:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

Witam,
Mam kolejny problem, no może nie problem, ale nie wiem jak najlepiej rozwiązać menu wielopoziomowe.
Oczywiście jak mój limit pomocy od Was się wyczerpał to śmiało napiszcie żebym się już zamknął :)

Jeśli chodzi o wyświetlanie graficzne menu, to nie mam z tym problemu, wrzucam wszystkie "rysunki" w jedną funkcje.
Jednak obsługa panelu dotykowego jest "stała" - siatka 0-310 i 0-235. i mimo że mogę wywołać przejście to następnego menu graficznego, panel dotykowy wciąż jest jakby w pierwszym menu.

Zastanawiam się czy można jakoś przypisać/skopiować funkcję void show_coord(void) do każdego menu, z tym że w funkcji dodać stałą wartość dla x i y np. +500
coś takiego:

Kod:
void show_coord(void) {

   static int lx,ly;
   int x=TP_X, y=TP_Y;
        lx=x; ly=y;
        x=x+500, y=y+500;
}


i wtedy np: (oczywiście podać pełną wartość 515 a nie 15+500)
Kod:
   if( x>15+500 && x<80+500 && y>190+500 && y<230+500 ) {
      LED_OFF;
      tft_fill_rect(150, 150, 20,20, black );
      setCurrentFont(&CourierNew12ptFontInfo);
      tft_puts(150,150,"ON",white, black);
}
      


Czy są jakieś inne łatwiejsze sposoby ? wiem że do menu wielopoziomowego dobrze nadają się typy wyliczeniowe enum, ale problem panelu dotykowego nadal zostanie prawda ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2012, o 21:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 lut 2012
Posty: 123
Lokalizacja: Reda
Pomógł: 0

To w ramach odrabiania punktów, napiszę jak zrobić żeby to działało jak powinno :)
Faktycznie chciałem na początku kopiować funkcje z dodawaniem współrzędnych, jednak podczas testów okazał się to niewypał.
Następnie wstawiłem zmienną menu, czyli tak jak opisałeś i działało, jednak nie do końca.

Dla sprawnego działania menu wielopoziomowego (u mnie na razie dwupoziomowe) należy w opcji zmiany menu wrzucić rysowanie grafiki dla wybranego menu. I co najważniejsze, (u mnie przycisk zmiany menu, był w tym samym miejscu do przycisk cofnij, co powodowało automatyczny powrót do menu głównego) należy ustawić zmienne położenia x=0 , y=0.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Mam nadzieję że chociaż trochę się zrewanżowałem za pomoc :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2012, o 21:51 
Offline
Moderator
Avatar użytkownika

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

Hass-pol napisał(a):
Mam nadzieję że chociaż trochę się zrewanżowałem za pomoc :)


OK, tylko panie kochany ;) .... kolego - już zdaje się zwracałem uwagę kilka razy, używaj że pan znaczników

[ syntax = c ]

zamiast

[ code ]

bo do Lochów Sun cię ześle ;)

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 47 ]  Przejdź na stronę 1, 2  Następna strona

Strefa czasowa: UTC + 1


Kto przegląda forum

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