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



Teraz jest 25 kwi 2024, o 08:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 28 lut 2012, o 16:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 paź 2011
Posty: 307
Lokalizacja: Lbt
Pomógł: 8

Witam
Jako, że mam chwilę czasu chciałem napisać program do tego projektu w c, jednak już na samym wstępie mam problem z konfiguracją pinów wyświetlacza. Jako, że attiny13 ma 6 portów mogę sterować nim w trybie 4 bitowym z podłączeniem e i rs. W takim razie wyłączam w bibliotece obsługę pinu r/w, lecz kompilator dalej wyrzuca błąd o, niezdefiniowanym pinie podłączonym do r/w

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



../lcd/lcd44780.c:498: error: 'PORT' undeclared (first use in this function)


Jak usunę wpis odpowiadający za ustawienie r/w także wyrzuca błędem.

Da radę w ogóle to opchnąć na tym procku?

_________________
Ujemna delta to dopiero początek zabawy...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2012, o 16:53 
Offline
Moderator
Avatar użytkownika

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

ale tobie się coś musiało pomylić ten komunikat w ogóle nie ma nic wspólnego z pinem RW czy go definiujesz czy nie :(

on ma coś wspólnego z tym, że być może pozbyłeś się sekcji makr upraszaczjących z oryginalnej biblioteki do LCD z książki ....

skopiuj ją sobie jeszcze raz i odpal - nie ma takiej możliwości żeby to nie zadziałało

tylko pamiętaj o aktualizacji do LCD tej do pobrania z naszego forum

topic27.html

_________________
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: 28 lut 2012, o 19:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 paź 2011
Posty: 307
Lokalizacja: Lbt
Pomógł: 8

Miałem pobraną, ale nie wiem czego nie chciało działać. Jeszcze raz skopiowałem, pozmieniałem na odpowiednie wartości i wszystko hula.
Teraz mam prośbę niech ktoś rzuci okiem, czy wszystko wygląda w porządku, bo mam tylko jedną próbę na wgranie wsadu, a jak się nie uda to będę musiał mege8 łatwić do fusebit doctora.
Program jest okomentowany

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


Nie jestem pewny czy mogę tak połączyć rejestry ADCL i ADCH czy muszę wpisać ich wartości do dwóch zmiennych ( a przynajmniej adch) i dopiero wtedy zastosować przesunięcie.

_________________
Ujemna delta to dopiero początek zabawy...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lut 2012, o 21:23 
Offline
Moderator
Avatar użytkownika

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

sorki ale to jest obrzydliwa linia i lepiej niech kolega od razu poprawi ok? jeśli mamy tu analizować poprawnie napisany kod - tyle razy w książce pisałem że nie posługujemy się tajemniczymi liczbami HEX - mamy przesunięcia bitowe i nazwy bitów:

while(ADCSRA & 0x40);

kolejna rzecz, jak jak bym pisał już oddzielnie ADCH i ADCL to w takiej kolejności (ADCH<<8)|ADCL (ale to tylko tak dla porządku a nie dlatego że nie zadziała - po prostu w Polsce piszemy od lewej do prawej, w Arabii Sudyskiej piszemy od prawej do lewej, w Chinach piszemy z góry do dołu (tu się bardziej SunRiver może wypowiedzieć) .... a w programowaniu piszemy zawsze wartości od najstarszej po lewej do najmłodszej po prawej . Tylko jak mówię tu chodzi mi tylko o kosmetykę

Za to widać, że kolega nie zajrzał do kodów na DVD ..... eeeh nie wiem ile będę jeszcze o tym wszystkim przypominał .... a tam jest wyraźnie pokazane że w AVR GCC można się posługiwać od razu ADCW zamiast takim tworem: (ADCH<<8)|ADCL

to na razie tak na gorąco

nie wspomnę już o tym że najpierw to bym sobie coś takiego potrenował na jakimś ATmega a dopiero jak by dobrze działało to zastanawiałbym się nad wgraniem do tiny13 z zablokowaniem pinu RESET

_________________
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: 28 lut 2012, o 21:26 
Offline
Moderator
Avatar użytkownika

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

ale gdzie tam - tu kolega z kosmosu wystrzelił:

ADMUX |= wybor;

:( - brzydko - a w książce jest i na forum ostatnio było: post3590.html#p3590

_________________
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: 1 mar 2012, o 17:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 paź 2011
Posty: 307
Lokalizacja: Lbt
Pomógł: 8

Aj niestety wgrałem program w poniższej postaci, ale cos nie hula. Na wyświetlaczu pojawiają się losowe znaki w pierwszym rzędzie.
Odblokuję procka i spróbuję wyświetlić cokolwiek na lcd, chyba, że ktoś znajdzie błąd w poniższym kodzie.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Ujemna delta to dopiero początek zabawy...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2012, o 13:37 
Offline
Użytkownik
Avatar użytkownika

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

Moze sie mylę, ale czy czasem nie wpisujesz wszystkiego do wiersza 0, a tą jedynką przesuwasz tylko pozycję w wierszu ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 mar 2012, o 14:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 paź 2011
Posty: 307
Lokalizacja: Lbt
Pomógł: 8

Malutki_27 napisał(a):
Moze sie mylę, ale czy czasem nie wpisujesz wszystkiego do wiersza 0, a tą jedynką przesuwasz tylko pozycję w wierszu ?

Dzięki wielkie. Tu na pewno jest błąd. Zaraz poprawię i spróbuję wgrać ponownie.

_________________
Ujemna delta to dopiero początek zabawy...



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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