ATNEL tech-forum https://forum.atnel.pl/ |
|
LCD hd44780 - makra klasyka problemu :) https://forum.atnel.pl/topic22486.html |
Strona 1 z 1 |
Autor: | feniks_ [ 11 sie 2019, o 20:04 ] |
Tytuł: | LCD hd44780 - makra klasyka problemu :) |
Witam, rozgryzam biblioteke do LCD hd44780 z BB i wydaje mi się żę kumam makra . Myśle żę każdy kto przerabiał wie o które chodzi , ale rzecz w tym , że albo cos przeoczyłęm albo to dopiero bd smigać jak sie wszystko napisze bo poki co kompilator wywala mi błędy :/ Pisze bibloteke juz sam w oparciu o kod dodany do ksiązki i o bb i definiując porty odpowiednio makrami tak jak ponizej w kodzie , kompilator wrzeszczy o bledzie . Dlaczego ? Coś trzeba dorzucić do tego ? Będe wdzięczny za odp mimo , że pewnie niektorzy juz nie mogą słuchać o tych samych problemach przy kodzie BB |
Autor: | JarekB [ 11 sie 2019, o 20:33 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
No dobrze, a gdzie komunikat kompilatora? |
Autor: | feniks_ [ 11 sie 2019, o 20:35 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
syntax error tylko...trzeba deklarować takie makra wczesniej jakoś ? CZy pisząc takie makro majac zadeklarowane juz wszystkie zmienne w nawiasach trzeba jeszcze cos przed takimi makrami deklarowac ? |
Autor: | JarekB [ 11 sie 2019, o 20:40 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Może jednak wklej co dokładnie mówi kompilator. |
Autor: | JarekB [ 11 sie 2019, o 21:08 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Czy definiowałeś gdzieś porty i piny? Na przykład |
Autor: | feniks_ [ 11 sie 2019, o 21:13 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
tak mam wszystkie wedle ksiazki nawet , zastanwia mnie sam przyklad z ksiazki #define DDR(x) SDDR(x) #define SDDR(x) (DDR##x) - to przyklad czy tak po porstu musi wygladac kod ? Ma zostac zadeklarowane to sklejenie ? |
Autor: | Adam12 [ 11 sie 2019, o 22:03 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Patrząc na błędy to ja tu widzę bardziej jakiś problem z konfiguracją Eclipsa. |
Autor: | Marhef [ 12 sie 2019, o 08:17 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
feniks_ napisał(a): Ma zostac zadeklarowane to sklejenie ? Tak, ma zostać tak, jak jest w książce. A dlaczego - poszukaj. Albo na blogu albo na forum Mirek to tłumaczył
|
Autor: | feniks_ [ 12 sie 2019, o 16:18 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
No tak znalazłem ten artykuł ale chyba jestem za duży nieogar Co musze zdeklarować wczesniej , żeby działała mi linijka makra przykładowo DDR(LCD_D7PORT) |= (1<<LCD_D7) ? Myślałem , że względem wzoru z ksiązki trzeba napisac # define DDR(x) (DDR##LCD_D7PORT) ale to nie do końca tak :/ |
Autor: | feniks_ [ 12 sie 2019, o 21:56 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Powiem szczerze , że sporbowąłem sobie to zrobić na prostym przykladzie makra na zwyklym miganiu ledem jednym i smiga mi to W porjekcie ogolnie zamieszczam te makra , w pliku naglowkowym i to tam mi kompilator krzyczy. Z czego to wynika ? W próbie z ledem wszystko umieściłem w main.c i funguje odrazu ale zastanawia mnei czemu tak :/ W każdym razie dzieki już za wszelkei sugestie , wiuem , że poruszam temat senty raz . Na słynnym forum juz dawno by mi temat zamkneli |
Autor: | Marhef [ 13 sie 2019, o 05:29 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
A nie masz tak, że #define masz w innym pliku niż to, co wstawiłeś w pierwszym poście? |
Autor: | micky [ 13 sie 2019, o 06:21 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Obejrzyj filmik Mirka o podziale projektu na pliki. |
Autor: | feniks_ [ 14 sie 2019, o 19:47 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Chętnie obejrze Ale to jest jakiś taki ?:) |
Autor: | micky [ 16 sie 2019, o 18:59 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Biblioteki Mirka działają na 100 procent. Czy przypadkiem dobrze ją ustawileś? Kontrast regulowałeś? |
Autor: | feniks_ [ 16 sie 2019, o 19:32 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Ja oczywiscie wiem ze działaja bo gdyby tak nie bylo to juz dawno by juz bylo wszystko poprawione Biblioteka wymaga jakiegos wiekszego ustawiwnia oprocz wystawienia na RW - 1 lub 0 ? Plus dodatkowo podswietlenei na lcd na odpowiednim pinie stan wysoki ? Bo ja tak mam ze na RW == 1 w bibliotece i w mainie wszystkie piny sa jako wyjscia na stanie wysokim w mainie jak w oryginale dolaczanym do BB . Zatem ? Kontrast oczywiscie regulowalem i sa kwadraciki wiec to na pewno jest ok, rzecz w tym , że wystawiajac stan wysoki na pin podswietlenia nawet z jakiegokolwiek portu innego czy to B,C czy D , to on sie nie zapala :/ Ale jak zrobie zworka na stałe podświetlenie to się zapala....zatem tak jakby cos program nie hulal:/ Oczywiscie wszystko w porcie A podlaczone wedle biblioteki . Wiecie...ja wiem , żę to coś po mojej str jest nie tak....ja wiem , żę Pan Mirek robi świetną robote i nei mam watpliwosci - nei raz sie przekonalem o tym I wiem , ze niejedna osoba juz walczyla jak ja z tym tematem....wiem tez ze czasem warto nei powielac problemu ale....no czasem kazdy problem jest inny....i ja myslac ze mam wszystko ok , pewnie nie widze czegos ( najtrudniej jest znalesc wlasne bledy) i za chwile wskoczy P. Mirek , zaśmieje się i będzie to hulac a ja sobie pomysle ze jak zwykle dalem plame bo to bylo proste oczywiscie w miedzy czasie szukam problemu Jak namierze to dam znac tez ------------------------ [ Dodano po: 18 minutach ] Tak zaczalem analizowac problem dalej i stiwerdzilem ze chyba mam cos nei tak z tymi projektami z BB...nie mialem ich w miejscu reszty projektow .... teraz je skopiowalem do reszty ale....ni w zab nie moge ich znalezc poprzez Eclipse gdzie to siedzi ?:P ------------------------ [ Dodano po: 32 minutach ] no i tak ...Pan Mirek się będzie smiał , ja w sumie też i reszcie też zdradzam , że śmiga , bo musiałem przejrzeć jak się importuje biblioteki czy projekty z workspace człowiek już mądrował , że wszystko umie i ma biblioteka śmiga pięknie łącznie z podświetleniem dziękuej za cierpliwość i przepraszam za zamęt temat mam nadzieje do zamknięcia |
Autor: | feniks_ [ 15 wrz 2019, o 18:54 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Witam ponownie , testuje sobie biblioteke P. Mirka na calego i dorzucam jakieś funkcjonalnosci ,by sobie pewne rzeczy utrwalic . Postanowilem za pomocna przyciskow rozgrywac jakies zdarzenia na LCD aktualnie . Pomyslalem , że jednym przyciskiem bede coś tam robił , drugim coś innego a trzecim kolejna rzecz. Na początek pomyslalem jak to zrobić by procek sprawdzal dosyc szybko i sprawnie ze dany przycisk jest wcisniety . Pomyslalem - zrbie to w przerwaniach na if moze docelowo na switchu . Moze to zła droga ale po to włąsnie pisze Rzecz się tyczy tego , że zrobiłęm sobie by po przycisnieciu jednego przycisku mial sie LCD czyscic czyli - wykorzystuje funkcje cls z biblioteki . ŁAdnie reaguje szybko i elegancko . Napis który mam na wyswietlaczu sie kasuje ale ....no pozniej juz sie nei pojawia :/ No przeciez przerwanie ma wrocic do miejsca programu na ktorym main sie zatrzymal . DOmyslam się , że używając Komend LCD powoduje , że niestety cała inicjalizacja , wyswietlanei napisu ktory wczesniej ustalilem , i wszystko inne szlak trafia....ale dlaczego ? Procek uzywajac komendy cls , niszczy wszystko co wczesniej main zrobil ? Zamieszcze kod , choc jest taki tylko "roboczy " . Będe wdzięczny za jakieś sugestie język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a tu juz samo przerwanie : |
Autor: | mirekk36 [ 15 wrz 2019, o 22:43 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Cytuj: a tu juz samo przerwanie : Panie kochany to już jest istna masakra niestety ... wiem że zaczynasz dlatego od razu ci mówię - bo pewnie jeszcze nawet w Bluebooku tego nie doczytałeś, więc zapamiętaj 1. Nigdy nie używaj obsługi LCD w przerwaniach - bo to bardzo powolne funkcje i blokujesz działanie programu. 2. NAJWOLNIEJSZĄ funkcją ze wszystkich do LCD jest właśnie CLS 3. czy wiesz że można a nawet trzeba tak pisać programy, żeby w ogóle nigdy nie używać funkcji CLS ? ale na początek - po prostu zapomnij o używaniu tego w przerwaniach |
Autor: | feniks_ [ 16 wrz 2019, o 08:36 ] |
Tytuł: | Re: LCD hd44780 - makra klasyka problemu :) |
Dzięki serdeczne - rozumiem Oczywiście coś tam było o tym , ale wypadło z głowy No nic dziękuje za pomoc |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |