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



Teraz jest 24 kwi 2024, o 04:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 30 ] 
Autor Wiadomość
PostNapisane: 7 lis 2014, o 13:31 
Offline
Użytkownik

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

Witam serdecznie, jestem tutaj nowy wiec jak wszyscy młodzi adepci sztuki programowania mikrokontrolerów AVR proszę o wyrozumiałość. Posiadam niebieską książkę Pana Mirka i programator USBASP, programuję w eclipse indigio i mam mikrokontoroler atmega 8. i zatrzymałem się na ćwiczeniu z LCD, wszystko dotychczas szło mi dobrze i ze zrozumieniem. Problem polega na tym, że nie mogę nić wyświetlić na LCD. Przeczytałem rozdział co prawda dopiero dwa razy ale nie rozumiem dlaczego nie mogę niczego wyświetlić poza kwadracikami regulowanymi przez potencjometr. Niektórzy to negują ale dostaję "powera" do zagłębienia się w temat jeżeli zadziała mi chociaż podstawowa rzecz a niestety nie chce i nierozumiem paru rzeczy.

Wyświetlacz mam podłączony następująco:
PIN1 -> GND
PIN2 -> VCC (zasilanie z usbasp i prawidłowa filtracja zasilania chciaż elektrolit mam 10uF )
PIN3 -> potencjometr (prawidłowo reguluje kontrast)
Rs -> PB0
RW-> PB1
E -> PB2

D7-> PC5
D6-> PC4
D5-> PC3
D4-> PC2

PIN15 -> VCC
PIN16-> GND

Załadowałem program z płyty i wrzuciłem uaktualnienie lcd44780.c

po kompilacji wyskakuje mi błąd:


**** Build of configuration Release for project 04_LCD ****

make all
Building file: ../LCD/lcd44780.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"LCD/lcd44780.d" -MT"LCD/lcd44780.d" -c -o "LCD/lcd44780.o" "../LCD/lcd44780.c"
../LCD/lcd44780.c:285: error: conflicting types for 'lcd_hex'
../LCD/lcd44780.h:175: error: previous declaration of 'lcd_hex' was here
make: *** [LCD/lcd44780.o] Error 1

**** Build Finished ****


wrzucę cały mój kod:

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.



Pokażę jeszcze jak zmieniłem porty w lcd44780.h:

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




W mkAVR Calculatr taktowanie ustawione na 8 MHZ i taktowanie atmegi również na 8 MHZ


Nie rozumiem również jak wgrać ten plik .epp ( szukałem na forum i robiłem jak ktoś pisał ale nie wiem czy to jednak poprawnie)
i w from EEPROM image file mam: ${workspace_loc:/04_LCD/Release/04_LCD.eep} prawidłowo?

także nie rozumiem: DDRA |= (1<<PA7); // ustawiamy kierunek linii podświetlenia LCD jako WYJŚCIE
PORTA |= (1<<PA7); // załączamy podświetlenie LCD - stan wysoki

Mam pod jakiś port podpiąć jakiś PIN?

Proszę was o wyrozumiałość i pomóżcie mi bo już około 15 godzin walki z tym i nadal kwadraciki...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 13:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Schemat podpięcia masz w BB, tu masz symulator LCD żeby zobaczyć co się stanie jak wyślesz jakiś kod do LCD (albo co powinno się stać) http://impuls.elektroda.eu/joomla/index ... owy-16-x-2
.eep wgrywa się tak samo jak .hex z tą różnicą, że w programie, ktory używasz (podejrzewam, że MKAvrCalc) ustawiasz zapis do eeprom zamist do flash. Wtedy MKAvr Cię grzecznie zapyta gdzie jest plik eepromu żeby go tam wgrać

Kierunek podświetlenia linii ustawiamy jako wyjście żebyś mógł sterować z procesora wysyłając zera bądź jedynki logiczne (prościej mówiąc nie do końca poprawnie - jest prąd lub go nie ma). W ten sposób załączasz światełko w tunelu, znaczy tfu w LCD

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 13:53 

Pomógł: 0

varaderas napisał(a):
Nie rozumiem również jak wgrać ten plik .epp ( szukałem na forum i robiłem jak ktoś pisał ale nie wiem czy to jednak poprawnie)


W ustawieniach projektu masz by wgrywać też wsad do eeproma,


niestety nie bangla mi coś wrzucanie w.g przepisu, wrzucam linka

https://www.dropbox.com/s/hjqb9978g7i49 ... 5.png?dl=0



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 14:01 
Offline
Użytkownik

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

Dziekuję za odpowiedź, mam podłączone jak w BB.

Odnośnie .eep to mam zrobić tak: w mkAVR Calculator w zakładce programator wybrać rodzaj pamięci EEPROM i z workspace dodac 04_LCD.eep ? Pokaże na zdjęciu :
Obrazek

a odnośnie tego kierunku linii podświetlenia to odpowiedzialny jest za to pin 15 LCD? (boję się, że piszę straszne głupoty ale już serio zgłupiałem)

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

tam ma być tylko zaznaczone from build? bo wybierałem tam z relase w tym pasku miałem: ${workspace_loc:/04_LCD/Release/04_LCD.eep}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 14:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Nie mam przy sobie BB więc Ci nie powiem ale zobacz na rysunek
ZAPIS - zaznacz bo chcesz zapisać
EEPROM - zaznacz bo chcesz zapisać do pamięci EEPROM
Możesz też zaznaczyć FLASH jeśli chcesz od razu zapisać hex'a

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 14:07 
Offline
Użytkownik

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

Więc w eclipsie mieć zaznaczone w tym Upload EEPROM image opcje from build?
Ale nadal mm błędy w bibliotekach i też nie wiem dlaczego ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 14:36 

Pomógł: 0

Po pierwsze ściagnij erratę z strony atnel.pl pod drugie jaki toolchain?

jak nowy atmelowski to trzeba wprowadzić kilka małych zmian, aczkolwiek chyba już było w aktualizowanych bibliotekach, nie pamiętam, bo robiłem to grubo ponad rok temu i od dawna korzystam z bibliotek rozszerzonych o i2c



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 14:52 
Offline
Użytkownik

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

Pisałem w pierwszym poście że w pliku led44780.c mam wgraną uaktualnioną bibliotekę, toolchain bez bicia przyznaję się, że nie wiem jaki mam aczkolwiek wszystko tzn. eclipse itd. itp. wgrywałem i konfigurowałem około miesiąca temu zgodnie z instrukcjami Pana Mirka więc wszystko co mogłem to wgrywałem najnowsze, aktualne ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 15:35 
Offline
Moderator
Avatar użytkownika

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

Widzisz czasem jednak warto mieć punkt odniesienia do tego co jest w kodzie w książce gotowe i np odpalić sobie przykład wprost z książki i widzieć na własne oczy że działa na m32 .... wtedy łatwiej szukać gdzie się robi błąd przenosząc kod na inny procek

_________________
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 lis 2014, o 17:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

varaderas napisał(a):
także nie rozumiem: DDRA |= (1<<PA7); // ustawiamy kierunek linii podświetlenia LCD jako WYJŚCIE
PORTA |= (1<<PA7); // załączamy podświetlenie LCD - stan wysoki


Te linie kodu dotyczą zestawu ATB, w którym podświetlanie LCD jest załączane za pomocą tranzystora NPN. Podanie stanu wysokiego na bazę tego tranzystora włącza podświetlanie, a stanu niskiego wyłącza podświetlanie. Jeśli masz piny od podświetlanie podłączone bezpośrednio do Vcc i GND to te linie kodu są zbędne.



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

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

dziękuję serdecznie za odpowiedzi czyli ostatecznie podejrzewam, że problem jest z tym wgraniem pliku .eep

wrzuce screeny jak mam to poustawiane,

Obrazek

Obrazek


Pisałem wcześniej że biblioteki kompilują mi się z błędami ale gdy w lcd44780.h
wrzuce w komentarz :

//void lcd_str_P(const char * str);// domyślnie wyłączona z kompilacji w pliku lcd.c

//void lcd_hex(uint32_t val);// domyślnie wyłączona z kompilacji w pliku lcd.c

//void lcd_defchar_P(uint8_t nr, const uint8_t *def_znak); // domyślnie wyłączona z kompilacji w pliku lcd.c

i ponownie "zbuilduje"

wówczas w main.c pojawiają mi się zółte trójkącik przy:

lcd_str_P(tab1); // napis z pamięci FLASH
lcd_defchar_P(0x82, znak_buzka);

Ale gdy "zbuilduje" drugi raz trojkąciki znikają i teoretycznie nie ma żadnych błędów więc tak sobie myślę, że pewnie robię coś nie tak z tym .eep bo nie możliwe (chyba niemożliwe ...;) ) że przez te błędy których po zakomentowaniu 3 linijek już nie ma nie jestem w stanie zrobić najprostszej rzeczy jak wyświetlenie najprostszego słowa jak np. MIREK :-)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 18:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Czemu w MKAvrCalc nie masz "ptaszka" na tym, że chcesz zapisać EEPROM?
Pisałem trochę wyżej ustaw
ZAPIS - zaznaczone
EEPROM - zaznaczone
jak chcesz dograć .hex to zaznacz też FLASH

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



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

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

Ok to robie tak:
Obrazek

w eclipse mam prawidłowo zaznaczone?

Zaznaczyłem wszytko jak mi serdeczny kolego piszesz ale niestety lcd robi mi psikusa i się buntuje :( wyświetlający tylko prostokąty. Może to wina tych 3 skomentowanych linijek z bibliotek no ale aż mi się nie chce wierzyć, że przez to jak wcześniej pisałem, że nie mogę wyświetlić byle słowa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 19:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

A czy właściwie masz coś w tym pliku eep? Bo jakoś tak mało zajmuje (całe 0%). Co Ci wyrzuca kompilator po kompilacji? Ile danych jest przeznaczonych do EEPROMu? Jeżeli chodzi o eclipse to Ci nie pomogę dla mnie to kocie środowisko i wolę AtmelStudio :), a najbardziej odpowiada mi środowisko Dev-C++ ale to inna bajka :)

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

Pamiętam, że w BB jest w bibliotece do LCD coś z #define co pozwala na używanie lub nie (tzw. Warunkowa Kompilacja) tych zakomentowanych przez Ciebie linijek. Mogę się mylić bo nie mam przy sobie BB teraz ale chyba tak było. Jeśli się mylę to niech mnie ktoś (np Mirek) poprawi :twisted:

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 19:25 
Offline
Użytkownik

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

nie wiem co mam jestem początkujący do bólu i coraz bardziej się zniechęcam a raczej należę do osób wytrwałych w swych działaniach :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 19:30 

Pomógł: 0

Wrzuć mi twój projekt spakowany na PW, to ci sprawdzę na atmega8 co robisz nie tak, ewetnualnie czy chociaż soft masz dobry.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 19:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

BB str 217 - Jak podłąćzyć prawidłowo procek do LCD
BB str 232 - Warunkowa kompilacja, o której wspominałem

Nie musisz nic komentować. Wystarczy w programie ustawić odpowiednie zmienne środowiskowe (tak się to nazywa?)

Ogólnie jeśli robisz dokładnie z BB to powinno działać. Sprawdzone przez setki zadowolonych użytkowników BB. Jeśli jednak nie działa są dwie możliwości. Albo coś schrzaniłeś albo coś się schrzaniło na złość Tobie :D

I zobacz ile zajmuje kod zapisywany do eeproma. Jak to powinno wyglądać masz na 32 stronie BB

EOF

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 20:48 
Offline
Użytkownik

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

a powiedzcie mi Panowie i Panie jak coś :) czy dobrze robie z tym wgraniem pliku .eep? Screeny jak mam wszytko ustawione załączyłem powyżej ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2014, o 21:53 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Niby w porządku, ale czemu hex dla EEPROM ma 0% (czy dlatego, że <= 0,5%). Porównaj to z komunikatami po kompilacji w konsoli Eclipse. Przykładowo:
Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

W drzewku projektu w folderze Release można teraz zobaczyć pliki wynikowe i powinien być tam plik 04_LCD.epp jak go otworzysz to sprawdź czy nie jest pusty. Przykładowy plik eep z zawartością:
Składnia: [ Pobierz ] [ Ukryj ]
język bash
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2014, o 11:29 
Offline
Użytkownik

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

Po kompilacji mam takie dane:
EEPROM: 15 bytes (2.9% Full)(.eeprom)

a to zawartość pliku .eep:

:0F000000454550524F4D0004200E1111110E00B6
:00000001FF



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2014, o 14:48 
Offline
Użytkownik

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

Nie wiem jak to teraz jest ale obecnie w ogole nie tworzy mi się plik .eep gdy w main wrzuciłem znaleziony na forum kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2014, o 14:58 
Offline
Moderator
Avatar użytkownika

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

varaderas napisał(a):
gdy w main wrzuciłem znaleziony na forum kod

Przecież masz w książce ten kod, pełny kod i tam tworzy się plik *.eep. Tymczasem z tego co tu wyżej napisałeś - to z jakiej niby przyczyny miałby się utworzyć eep ? .... Mówię - zajrzyj do płyty DVD dołączonej do Bluebooka - tam znajdziesz wszystko co trzeba.

_________________
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: 8 lis 2014, o 15:03 
Offline
Użytkownik

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

Czytam w tym momencie kolejny raz ten rozdział, ale Panie Mirku to co jest problemem, że nawet tego słowa Atnel nie mogę przesłać do lcd?
Podejrzewam, że Pana jak innych znających się na rzeczy moje posty powodują nerwy ale człowiek się dopiero uczy i nieraz stanie na takim problemie przy którym ma zaćmienie i takie są przykre efekty :(

------------------------ [ Dodano po: 1 minucie ]

a odnośnie BB mówi Pan o tej lekcji video 03 tak?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2014, o 18:20 
Offline
Moderator
Avatar użytkownika

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

Cytuj:
Czytam w tym momencie kolejny raz ten rozdział, ale Panie Mirku to co jest problemem, że nawet tego słowa Atnel nie mogę przesłać do lcd?

No dobrze ok .... ale skąd można wiedzieć co jest przyczyną w twoim wypadku ? tylko można podejrzewać że masz źle podłączony LCD do procka i to tyle na ten temat ... bo oczywiście ani nie pokazujesz swojego schematu ani zdjęć ani cokolwiek

_________________
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: 8 lis 2014, o 23:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

A ja tak jeszcze dodatkowo, bo nikt akurat nie wspomniał:

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


W/w masz dobrze poustawiane?

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2014, o 20:28 
Offline
Użytkownik

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

Dziękuję wszystkim za odpowiedź, problem został rozwiązany.
Dla potomnych dodam, że dużo w kodzie z płyty zmylił mnie jako początkującego komentarz by włączyć w eclipse dodawanie pliku .eep. W celu wyświetlenia prostego napisu nic z typ plikiem .eep się nie robi.
Dodam dla potomnych prosty kod aby wyświetlić napis na wyświetlaczu. Następnie wszystko kompilujemy i wgrywamy strzałką (ikonka AVR) do mikrokontrolera tak jak się ładuję najprostszy program dla diod led.

Kod:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lis 2014, o 23:24 
Offline
Moderator
Avatar użytkownika

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

ten kod chociaż prosty to zdecydowanie nie ma sensu (tzn inaczej nie to że kod nie ma sensu - ale nie ma sensu miliardy razy na sekundę pisać tego samego po LCD) - porównaj go z tym niżej i zastanów się dlaczego lepiej tak to robić na przyszłość w takim przypadku:

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


... jak wystarczy tylko raz ...


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: 16 cze 2017, o 08:40 
Offline
Użytkownik

Dołączył(a): 09 lis 2014
Posty: 78
Pomógł: 0

Cześć !!
Podebrałem i zainstalowałem sterownik HD44780_4bit_norw.zip ze strony.
Czy dobrze zdefiniowałem porty pod które mam podłączony wyświetlacz ?
Kod:
#define LCD_RS_DIR      DDRA
#define LCD_RS_PORT    PD6
#define LCD_RS         (1 << PD6)

#define LCD_E_DIR      DDRA
#define LCD_E_PORT      PD7
#define LCD_E         (1 << PD7)

#define LCD_DB4_DIR      DDRA
#define LCD_DB4_PORT   PB0
#define LCD_DB4         (1 << PB0)

#define LCD_DB5_DIR      DDRA
#define LCD_DB5_PORT   PB3
#define LCD_DB5         (1 << PB3)

#define LCD_DB6_DIR      DDRA
#define LCD_DB6_PORT   PB4
#define LCD_DB6         (1 << PB4)

#define LCD_DB7_DIR      DDRA
#define LCD_DB7_PORT   PB5
#define LCD_DB7         (1 << PB5)


W atmel studio mam błędy
Error 4 lvalue required as left operand of assignment
if(nibbleToWrite & 0x02)

Kod:
   LCD_DB5_PORT |= LCD_DB5;



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 cze 2017, o 09:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

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


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

zakładam że wyświetlacz podpinasz w całości pod port A

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 cze 2017, o 10:02 
Offline
Użytkownik

Dołączył(a): 09 lis 2014
Posty: 78
Pomógł: 0

fakt
Kod:
#define LCD_RS_DIR      DDRD
#define LCD_RS_PORT    PORTD
#define LCD_RS         (1 << PD6)

#define LCD_E_DIR      DDRD
#define LCD_E_PORT      PORTD
#define LCD_E         (1 << PD7)

#define LCD_DB4_DIR      DDRB
#define LCD_DB4_PORT   PORTB
#define LCD_DB4         (1 << PB0)

#define LCD_DB5_DIR      DDRB
#define LCD_DB5_PORT   PORTB
#define LCD_DB5         (1 << PB3)

#define LCD_DB6_DIR      DDRB
#define LCD_DB6_PORT   PORTB
#define LCD_DB6         (1 << PB4)

#define LCD_DB7_DIR      DDRB
#define LCD_DB7_PORT   PORTB
#define LCD_DB7         (1 << PB5)



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

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO