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 17 maja 2025, o 10:17


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 14 sty 2022, o 12:13 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2020
    Posty: 52
    Lokalizacja: Szczecin - Goleniów
    Pomógł: 0

    Pytanie z ciekawości: co oznacza U2Xn=0 lub U2Xn=1 dotyczy zapisu w nocie kat. dla AVR
    przykład z noty:
    fosc=16MHz prędkość 57,6k przy U2Xn=0 mamy błąd 2,1% (za duży), a przy U2Xn=1 tylko -0,8%
    i ostatnia kwestia co oznacza w UBRRn te liczby analogicznie 16 oraz 34



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2022, o 17:40 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    Zajrzyj do PDFa co oznacza ten bit.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2022, o 19:13 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2020
    Posty: 52
    Lokalizacja: Szczecin - Goleniów
    Pomógł: 0

    czytałem notę ale nie za bardzo rozumiem proszę o rozjaśnienie tej sentencji ... U2Xn=0 lub U2Xn=1 .....czym się różni



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2022, o 14:31 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2021
    Posty: 93
    Pomógł: 0

    Zmienia się liczba próbek samplowania na 1 bit. Można pokusić się o ustawienie U2X = 1, ale wtedy dobrze by było zadbać o dobre źródło taktowania tj. zewnętrzny kwarc. Nie przejmowałbym się tym zbytnio, bo w większości przypadkach nie będziesz musiał tego bitu przestawiać. A te liczby obok UBRR to wartość którą powinno się wpisać do rejestru UBBRH i UBBRL, w celu ustawienia baud rate.

    Jesli masz funkcje inicjalizująca UART np: z noty.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    to w argument funkcji USART_Init przekazujesz define wcześniej zdefinowanego tj MYUBRR, który jest obliczany ze wzoru(Niezbyt dobrego).
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Ale równie dobrze mógłbyś zrobić tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Wg mojej noty wartosc 51 to dla Atm328p baud rate 9600 dla 8MHz.

    Niestety takie rozwiązanie nie jest zbyt dobre, gdyż za kazdym razem, jak zmienisz procesor,taktowanie itp, to bys musiał grzebać w nocie i sprawdzać ręcznie wartość UBRR. Dlatego wygodniej korzystać ze wzorku.
    Poza tym widzę, że masz bluebooka a tam w rozdziałe o UART ten temat pod koniec rozdziału jest troszkę poruszony.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2022, o 14:56 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2020
    Posty: 52
    Lokalizacja: Szczecin - Goleniów
    Pomógł: 0

    Tak temat jest w BB poruszony ale jak ciekawskiego idę o krok dalej hmmm każda odpowiedz nasuwa kolejne pytanie .... dzięki na naprowadzenie teraz muszę troszkę przetrawić ten temat bo to mnie zaintrygowało... też walczę z UART do poradnika 319 (Brazil serial) haha. Obecnie zmieniłem opcję wyświetlacza w programie bo Mirek wykorzystał w programie całą możliwości programową znaków na LCD..

    ------------------------ [ Dodano po: 6 minutach ]

    Nie wiem czy dobrze interpretuję ten zapis

    UBRR0H = (unsigned char)(ubrr>>8);
    UBRR0L = (unsigned char)ubrr
    ale czy koledze chodzi o wykorzystanie 8 bitów UBRR0H a kolejne 8 bitów przez UBRR0L ... czy dobrze rozumuje



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2022, o 15:11 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2021
    Posty: 93
    Pomógł: 0

    Apofis napisał(a):
    Nie wiem czy dobrze interpretuję ten zapis

    UBRR0H = (unsigned char)(ubrr>>8);
    UBRR0L = (unsigned char)ubrr
    ale czy koledze chodzi o wykorzystanie 8 bitów UBRR0H a kolejne 8 bitów przez UBRR0L ... czy dobrze rozumuje


    O jakie wykorzystanie chodzi bo nie wiem. Do rejestrów UBBR0H i UBBR0L wpisujesz wartość UBRR. To rejestr 12 bitowy, podzielony na 2. UBRR0L to młodsza część, UBRR0H to starsza część.Te rejestry napełniamy, nie korzystamy tam z niczego. Zobacz sobie w nocie jak wyglądają te rejestry.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2022, o 15:31 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2020
    Posty: 52
    Lokalizacja: Szczecin - Goleniów
    Pomógł: 0

    sorki błąd w rozumowaniu .... chodzi mi o 4 bity z pierwszego cyklu UBBR0H... a następne 4 bity z drugiego UBBR0L.... nie rozumiem tych 12 bitów UBBR...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2022, o 15:35 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    A skąd 12 bitów wziąłeś?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2022, o 15:40 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2020
    Posty: 52
    Lokalizacja: Szczecin - Goleniów
    Pomógł: 0

    wpisujesz wartość UBRR. To rejestr 12 bitowy,



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2022, o 16:00 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2021
    Posty: 93
    Pomógł: 0

    Obrazek
    Ja wziąłem z noty.

    Może troszkę zakręciłem. Nie miałem na myśli że rejestr UBRR0L czy H jest 12 bitowy, tylko nota mówi, że UBRR0 to 12bitowy rejestr podzielony na dwa osmiobitowe tj UBBR0L i UBRR0H.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2022, o 16:19 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2020
    Posty: 52
    Lokalizacja: Szczecin - Goleniów
    Pomógł: 0

    Fakt... rozgryzienie tych not jak i samych AVR-ów nie jest łatwe. Ale po to jest Forum i wymiana doświadczeń ... a to ułatwia naukę bardzo... bo same książki i poradniki to za bardzo dużo ..... ale trzeba też wymieniać się doświadczeniem .... :D



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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