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 w 2025? 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 9 kwi 2025, o 04:41


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 20 sie 2014, o 21:41 
    Offline
    Użytkownik

    Dołączył(a): 13 maja 2014
    Posty: 135
    Pomógł: 11

    Witam

    Mam problem, i liczę, że może zechcecie mi pomóc.
    Otóż napisałem sobie prosty programik do komunikacji z PC przez UART. Działanie polega na "dawaniu echa", czyli program odsyła do PC to, co zostało mu wysłane i jednoczesnym miganiu diodą LED co 1s. Program działa (i to nawet "na przerwaniach" :) ). Kod działającego ISR to:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Zwracam uwagę na znaki komentarza w linii 5.

    W ramach dalszych działań postanowiłem, aby po otrzymaniu małej litery program odsyłał wielką. No i zima :D . Kod ISR to:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Różnica w stosunku do poprzedniego to linia 5, która tym razem nie jest komentarzem. Po tej zmianie program, zamiast grzecznie odpowiadać zaczął wysyłać po dwa znaki, w dodatku żadem z nich nie jest tym właściwym.
    Cały kod programu (celowo wpisany do jednego pliku dla łatwiejszego czytania) to:
    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.

    Jest w nim w zasadzie tylko inicjalizacja portów, Timera 1 i UART-u, a potem pusta pętla i procedury obsługi ISR.
    Ponieważ z pierwszą wersją ISR komunikacja działa, więc nie mam wątpliwości odnośnie podłączenia, prędkości itp. łącze na pewno działa i jest dwukierunkowe. Nie rozumiem, dlaczego nie działa w sposób oczekiwany druga wersja ISR. Procesor to ATmega32, taktowanie wewnętrzne 8MHz, Eclipse Indigo, przejściówka na USB (ATB1.03).

    Będę bardzo wdzięczny za podpowiedzi.

    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 sie 2014, o 22:00 
    Offline
    Moderator
    Avatar użytkownika

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

    Zapewniam cię, że ten twój kod łącznie z linią nr.5 czyli zamianą na DUŻE litery musi działać dobrze, Ba! ... on działa dobrze ;)

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

    ale jak działasz na 8MHz to szczególnie zajrzyj tutaj:

    http://mirekk36.blogspot.com/2013/01/rs ... trick.html

    jak obliczać UBRR

    masz tam pokazany gotowy przykład:

    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: 3 minutach ]

    Przełącz się też na chwilę na zewn kwarc w ATB, 11,0592MHz dla upewnienia się że nie chodzi o brak kalibracji w procku


    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: 20 sie 2014, o 22:55 
    Offline
    Użytkownik

    Dołączył(a): 13 maja 2014
    Posty: 135
    Pomógł: 11

    Witam

    No coż...DZIĘKUJĘ.
    Kod rzeczywiście działa :D :D, problemem rzeczywiście było obliczanie wartości dla rejestrów UBRRH i UBRRL .
    Pozdrawiam :D :D

    P.S.
    A teraz dodam jeszcze coś...DZIĘKUJĘ .



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

    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