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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 8 cze 2025, o 12:54


    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: 27407
    Lokalizacja: Szczecin
    Pomógł: 1043

    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 ] [ Zaznacz wszystko ]
    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: 27407
    Lokalizacja: Szczecin
    Pomógł: 1043

    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: 27407
    Lokalizacja: Szczecin
    Pomógł: 1043

    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 ] [ Zaznacz wszystko ]
    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 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