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 10 lip 2025, o 13:36


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
    Autor Wiadomość
    PostNapisane: 22 sty 2017, o 11:06 
    Offline
    Nowy

    Dołączył(a): 29 sty 2014
    Posty: 12
    Pomógł: 0

    Witam mam problem z kompilacją biblioteki do UARTA dla ATmegi328p. Chciałem do tego wykorzystać kod z noty katalogowej, ale cały czas mam błędy przy kompilacji.

    kod:
    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.


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


    Proszę o pomoc bo siedziałem nad tym całą noc, czytając notę i szukając w internecie ale nic nie wymyśliłem.
    Za pomoc z góry dziękuję.



    Ostatnio edytowano 22 sty 2017, o 11:55 przez MainkraftiwiczPL, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 11:26 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Wstaw kod w syntax C!!! Trochę ci pocięło kod i nic nie widać.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 12:12 
    Offline
    Użytkownik

    Dołączył(a): 02 maja 2015
    Posty: 100
    Lokalizacja: Malbork
    Pomógł: 12

    MainkraftiwiczPL napisał(a):
    while ( !( UCSR0A & (1<<UDRE )) );

    Ta pętla nic nie robi poza sprawdzeniem warunku. Po co ona jest w tej funkcji?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 12:16 
    Offline
    Moderator
    Avatar użytkownika

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

    MainkraftiwiczPL napisał(a):
    error: 'UDRE' undeclared

    Masz jak byk napisane, że nie ma takiego rejestru w tym procku ... co za problem zajrzeć sobie w Eclipse do opisu NAZW rejestrów procka, którego aktualnie używasz w zakładce "Device explorer" ?

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

    ogon napisał(a):
    Po co ona jest w tej funkcji?

    Zajrzyj proszę do Bluebooka to się dowiesz ... bo w nocie PDF też jest to opisane chociaż po angielsku

    _________________
    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: 22 sty 2017, o 12:17 
    Offline
    Użytkownik

    Dołączył(a): 10 lip 2015
    Posty: 334
    Pomógł: 32

    Ta pętla oczekuje na gotowość bufora nadawczego.
    Inna rzecz, że zamiast UDRE powinno być UDRE0. (strona 245 w dokumentacji)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 12:50 
    Offline
    Nowy

    Dołączył(a): 29 sty 2014
    Posty: 12
    Pomógł: 0

    Program się już skompilował poprawiłem w bibliotece UDRE na UDRE0 i częściowo zadziałało. Czyli program się skompilował, ale procesor nie wysyła na ustawionych 19200 baud tylko 9600, i wysyła krzaczki(▒)

    mój kod programu:
    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.

    }

    kod biblioteki plik myuart.c
    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.


    kod pliku myuart.h:
    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 14:13 
    Offline
    Moderator
    Avatar użytkownika

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

    bo masz pan niedopasowane prędkości .... jak zwykle - TYPOWY przypadek początkującego, który ma procek taktowany 1 MHz a myśli że 8 MHz bo źle ustawił fusebity

    poza tym zacznij używać typów AVR GCC skoro już piszesz w avr gcc czyli zamiast tego klepania

    unsigned char

    pisz pan

    uint8_t

    _________________
    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: 22 sty 2017, o 15:56 
    Offline
    Nowy

    Dołączył(a): 29 sty 2014
    Posty: 12
    Pomógł: 0

    Fusebity mam ustawione na zewnętrzny kwarc 8MHz i taki mam podłączony do procesora i właśnie dlatego nie wiem co mu się dzieje. A jestem pewny że jest ustawione na zewnętrzny kwarc ponieważ jak go wyjmę to procesor stoi.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 16:15 
    Offline
    Moderator
    Avatar użytkownika

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

    MainkraftiwiczPL napisał(a):
    Fusebity mam ustawione na zewnętrzny kwarc 8MHz i taki mam podłączony do procesora i właśnie dlatego nie wiem co mu się dzieje. A jestem pewny że jest ustawione na zewnętrzny kwarc ponieważ jak go wyjmę to procesor stoi.


    A ja ci mówię, że masz ŹLE ustawione fusebity ;) ... tzn może inaczej - przewiduję to na 99,99% ... czyli prawie 100%

    _________________
    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: 22 sty 2017, o 16:38 
    Offline
    Nowy

    Dołączył(a): 29 sty 2014
    Posty: 12
    Pomógł: 0

    To w takim razie jakie mam ustawić wartości fusebitów?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 16:46 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1040
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Coś mi się wydaje że kolega nie widzi "sygnałów dymnych" puszczanych przez Mirka.
    Zainteresuj się kolego fusebitem o nazwie CKDIV8.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 16:53 
    Offline
    Nowy

    Dołączył(a): 29 sty 2014
    Posty: 12
    Pomógł: 0

    Moje wartości fusbitów w hex 0xFD 0xD9 0xFF
    CKSEL0=1; CKSEL1=0; CKSEL2=1; CKSEL3=1; SUT0=1; SUT1=1; CKOUT=1; CKDIV8=1



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 17:18 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1040
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Fusy wyglądają OK.
    Pytanie czy w ustawieniach projektu masz ustawioną właściwą częstotliwość, i czy jej nie zmieniałeś już po napisaniu programu. Bo jeśli zmieniałeś to powinieneś zrobić "clean project" i jeszcze raz Build.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 17:19 
    Offline
    Moderator
    Avatar użytkownika

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

    ok jednak się myliłem - myślałem że masz ustawiony CKDIV8 ale nie masz .... za to na przyszłość ustawiaj fusebit kwarc 8MHz albo większy a nie jak teraz 3-8 Mhz

    W takim razie albo masz źle ustawione parametry w terminalu albo złą przejściówkę do RS232

    _________________
    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: 22 sty 2017, o 17:47 
    Offline
    Nowy

    Dołączył(a): 29 sty 2014
    Posty: 12
    Pomógł: 0

    W konsoli mam ustawione baud 9600 data 8 bit i 1 bit stop bez parzystości i bitów kontrolnych. Zaś w programie jest ustawione 19200 baud 8 bitów danych i 1 bit stopu. I w takiej sytuacji wyświetlają mi się krzaczki (▒), zaś jak ustawie w konsoli 19200 baud to konsola jest czarna. Więc nie wiem co mu jest. Mam w komputerze fizyczny port COM (płyta to ASRock H170 Performance), ale nie wiem czy mogę go podpiąć do atmegi tylko pinem Rx komputera żeby niczego nie uszkodzić.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sty 2017, o 18:07 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1040
    Lokalizacja: Trójmiasto
    Pomógł: 190

    MainkraftiwiczPL napisał(a):
    ale nie wiem czy mogę go podpiąć do atmegi tylko pinem Rx komputera żeby niczego nie uszkodzić.
    Absolutnie nie możesz tak podpiąć bo port komputera działa w standardzie RS232 czyli z napięciami nawet od +15V do -15V. W takim przypadku konieczny jest konwerter do TTL na przykład na scalaku MAX232.
    Jeszcze pytanie czego dotychczas używałeś do komunikacji (bo rozumiem że masz jakąś przejściówka USB<=>RS232), taka przejściówka też musi być wykonana tak by po stronie RS232 miała sygnały TTL (czyli nie może to być zwykła przejściówka kupiona w sklepie komputerowym...)



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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