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 27 lip 2025, o 02:37


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
    Autor Wiadomość
    PostNapisane: 23 kwi 2015, o 20:10 
    Offline
    Nowy

    Dołączył(a): 23 kwi 2015
    Posty: 5
    Pomógł: 0

    Witam, otóż mam pewien problem. Jako, że jestem szczęśliwym posiadaczem książki Pana Mirka chciałem spróbować/skorzystać z biblioteki uart. Niestety wolną mam tylko Atmege644p i żeby używać owej biblioteki musiałem przerobić nieco inicjalizacje, itp.
    (pododawałem 0 tam gdzie to potrzebne ponieważ moja atmega ma 2 moduły uart) Mam oczywiście przejsciówke usb/rs232 która działa na 100% ponieważ sprawdzałem (łączyłem rx z tx). Po wysłaniu danych z AVR na PC w terminalu ładnie pojawia sie to co ma sie pojawiać, lecz gdy chce wysłać dane z PC na mikrokontroler to juz jest problem. :C

    Ma ktoś jakiś pomysł? czym w inicjalizacji może sie różnić Atmega644p ?

    Używam kwarc 20000 i U2X = 1 (oczywiscie w obliczeniu UBRR zmieniłem 8ul na 4ul i 16 na 8)a

    jak próbuje wysłać cokolwiek do AVR to ISR( USART0_RX_vect ) sie wgl nie wykonuje :/

    Z góry dziękuję za pomoc !



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 kwi 2015, o 20:47 
    Offline
    Użytkownik

    Dołączył(a): 27 lis 2012
    Posty: 291
    Pomógł: 6

    topic2189.html



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 kwi 2015, o 21:29 
    Offline
    Moderator
    Avatar użytkownika

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

    Pokaż miejsca (nie cały kod biblioteki z książki) tylko te miejsca które przerobiłeś pod m644p to się zobaczy czy wszystko i czy dobrze zrobiłeś ? albo gdzie masz babola

    _________________
    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: 23 kwi 2015, o 21:41 
    Offline
    Nowy

    Dołączył(a): 23 kwi 2015
    Posty: 5
    Pomógł: 0

    Powiem tak, kod mg101 mi działa, dzięki czemu wiem , że sprzętowo wszystko ok, więc dziękuje.


    Kod:
    /* Ustawienie prędkości */
       UBRR0L = (uint8_t)baud;
       UBRR0H = (uint8_t)(baud>>8);
       /* Załączenie nadajnika I odbiornika */
       UCSR0B = (1<<RXEN0)|(1<<TXEN0);
       /* Ustawienie format ramki: 8bitów danych, 1 bit stopu */
       UCSR0C = (1<<UCSZ00)|(1<<UCSZ01);


    Jeszcze w kodzie gdzie byly bledy to pozamienialem UDR na UDR0 i w sm to wszystko :)


    i jeszcze nwm czy dobrze to próbuje sprawdzic : lcd_int(uart_getc);

    ale obojetnie co wysle to od właczenia programu jest ciagle ta sama wartość :/



    Ostatnio edytowano 23 kwi 2015, o 21:43 przez Shock123321, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 kwi 2015, o 21:42 
    Offline
    Moderator
    Avatar użytkownika

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

    A wektory przerwań ?

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

    Shock123321 napisał(a):
    UCSR0C = (1<<UCSZ00)|(1<<UCSZ01);

    Tą linijkę możesz w ogóle zakomentować ;) i też będzie działać dla: 8,n,1

    _________________
    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: 23 kwi 2015, o 21:45 
    Offline
    Nowy

    Dołączył(a): 23 kwi 2015
    Posty: 5
    Pomógł: 0

    Wektory:
    ISR( USART0_RX_vect )
    ISR( USART0_UDRE_vect)

    taki sposób sprawdzania powinien dzialas ? : lcd_int(uart_getc);

    od włączenia programu ciagle na lcd mam tą sama wartość (pętla na 100% chodzi)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 kwi 2015, o 21:51 
    Offline
    Moderator
    Avatar użytkownika

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

    Panie - w BB nie ma opisanego odbioru i parsowania stringów - to dopiero w GB. W BB masz pokazane jak odbierać pojedyncze bajty z terminala - zajrzyj do rozdziału i przykładu "Projekt wielozadaniowy" ... "wstęp do systemów czasu rzeczywistego" .....bo to co tu robisz z tym lcd_int() nie ma za bardzo sensu

    _________________
    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: 23 kwi 2015, o 21:55 
    Offline
    Nowy

    Dołączył(a): 23 kwi 2015
    Posty: 5
    Pomógł: 0

    My chodzi tylko o to aby zrobić jakąkolwiek reakcje AVR na wysłany bajt :) ja wiem , że stringa tym nie odbiore ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 kwi 2015, o 21:57 
    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

    Cytuj:
    taki sposób sprawdzania powinien dzialas ? : lcd_int(uart_getc);

    raczej
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    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: 23 kwi 2015, o 21:59 
    Offline
    Moderator
    Avatar użytkownika

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

    Krauser napisał(a):
    Cytuj:
    taki sposób sprawdzania powinien dzialas ? : lcd_int(uart_getc);

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


    Ale w kodzie z BB to raczej nie będzie dobry pomysł, bo gdy nic nie nadlatuje to funkcja zwraca zero - więc wyświetlą się ptaszki ... Warto sprawdzać czy uart_getc() jest większy od zera i wtedy ...

    ale poza tym jak napisałem wyżej w książce i na DVD są dobre przykłady na to jak obsługiwać takie pojedyncze bajty

    _________________
    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: 23 kwi 2015, o 22:06 
    Offline
    Nowy

    Dołączył(a): 23 kwi 2015
    Posty: 5
    Pomógł: 0

    Ja wiem, że są przykłady ale na tym avr cos mi nie śmiga :/

    uart_getc() zawsze zwraca mi wartość zero obojetnie czy cos dostanie czy nie czy cos mu wysle czy nie (w petli daje opóźnienie 1 sek wiec nawet jak zaspamie z terminala to i tak ciagle mi to 0 pokazuje :/ czyli komunikacja nie gra

    chyba bede musiał sobie odpuścić z tym AVR

    ------------------------ [ Dodano po: 8 minutach ]

    Dobra, mój bład :( przepraszam wszystkich za zamieszanie i stracony czas :/ ale chyba zrozumiecie, że każdy był początkujący :)

    po prostu nie ustawiłem (1<<RXCIE) :c

    Dziękuje wszystkim za starania :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 kwi 2015, o 22:22 
    Offline
    Moderator
    Avatar użytkownika

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

    Shock123321 napisał(a):
    chyba bede musiał sobie odpuścić z tym AVR

    Ale to mi się najbardziej "podoba" ;)

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 

    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