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 06:29


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 13 sie 2020, o 09:34 
    Offline
    Użytkownik

    Dołączył(a): 05 sty 2015
    Posty: 393
    Lokalizacja: Mielec
    Pomógł: 14

    Witam wszystkich.

    Borykam się z tematem głównie chodzi mi o zmianę Parity i Bits Stop w czasie trwania programu, zmiana samych rejestrow nie wystarcza, reset flagi error też nie pomaga, trzeba coś jeszcze zmienić?
    Nie próbowałem jaszcze tylko z wyłączonymi przerwaniami globalnymi bo sen już mnie dziś zmorzył.

    A może coś jeszcze potrzeba?

    Dzieki za pomoc.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sie 2020, o 10:24 
    Offline
    Moderator
    Avatar użytkownika

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

    Nic nie potrzeba - wystarczy zmienić ustawienia w rejestrach i już

    _________________
    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: 13 sie 2020, o 14:26 
    Offline
    Użytkownik

    Dołączył(a): 05 sty 2015
    Posty: 393
    Lokalizacja: Mielec
    Pomógł: 14

    Mirku robiłem tak I kurza twarz nie robi u mnie,
    Dałem nawet delay coby uart niby za szybko nic nie wysłał, choć wiem że to nie ma znaczenia bo cykle muszą się zakończyć, rejestry przestawić, aby program poszedł dalej.

    Mirku jeszcze jedno przy okazji, w libsie uart 2.0 AT obliczasz CZAS (us) jaki potrzeba na wysłanie bitu ale nie widze odniesienia, Poco to?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sie 2020, o 20:07 
    Offline
    Moderator
    Avatar użytkownika

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

    Szofer napisał(a):
    Mirku robiłem tak I kurza twarz nie robi u mnie,
    Dałem nawet delay coby uart niby za szybko nic nie wysłał, choć wiem że to nie ma znaczenia bo cykle muszą się zakończyć, rejestry przestawić, aby program poszedł dalej.

    Zrób pan jakiś prosty test, wyizoluj problem. Toż można zrobić nowy MINI projekt i na nim przetestować - a jak znam życie to pewnie działasz na jakimś swoim całym projekcie i nie za bardzo nawet wiesz jak to przetestować albo źle testujesz .... toż to mega łatwo sprawdzić ... A jak już będziesz miał ten nowy projekt to i łatwiej ci będzie pokazać kod i jak to testujesz żeby można było pomóc - bo tak? to jak zwykle tylko gdybanie i wróżenie niestety.

    Szofer napisał(a):
    Mirku jeszcze jedno przy okazji, w libsie uart 2.0 AT obliczasz CZAS (us) jaki potrzeba na wysłanie bitu ale nie widze odniesienia, Poco to?

    Jak to po co ? do transmisji binarnej i to jest mega podstawowy parametr dzięki któremu można śmigać z binarką. To dzięki temu można ustalać sobie precyzyjny odstęp między ramkami - czasy o wielkości np 1,2,3 lub 4 bajtów - przecież w zależności od użytej prędkości baudrate - będą one zawsze inne.

    Piszesz, że nie widzisz odniesienia - ale nie za bardzo czuję o jakie odniesienie tobie chodzi.

    _________________
    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: 13 sie 2020, o 23:18 
    Offline
    Użytkownik

    Dołączył(a): 05 sty 2015
    Posty: 393
    Lokalizacja: Mielec
    Pomógł: 14

    Chodziło mi o ten zapis

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


    Ale już wyjaśniłeś, odniesienie nazwy UART_BYTE_TIME a dokładniej gdzie się ten czas wyliczony zapisuje, jako stała dosłowna?
    taka pętelka do wysylania komend AT dla kazdego baud rate z tablicy, zmiana baud rate dziala, ale reszte ustawien bits stop i parity juz nie,

    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.


    sprawdzam to poprzez podpięcie przejściówki USB UART na FTDI ustawiając jakiś baud rate w putty stop bit i parity np na 19200,1,Even i z atmegi wysylam ASCII tak jak widać w kodzie,
    delay dane tylko do testow,

    przy kazdym baud rate z 1 stop bits i parity none działa dobrze.

    pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sie 2020, o 06:04 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2596
    Pomógł: 129

    Podepnij wyjście pod dowolny logic analizer i wtedy obserwuj czy się zmienia transmisja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 sie 2020, o 22:33 
    Offline
    Użytkownik

    Dołączył(a): 05 sty 2015
    Posty: 393
    Lokalizacja: Mielec
    Pomógł: 14

    Witam

    Temat rozwiązany, ale po kolei,
    zapiąłem analizator do testów i USART wysyłał dane z jakimś baud rate, nie analizowałem jakim bo nie było to dla mnie istotne,
    celem była właściwa prędkość z właściwymi ustawieniami, może problem jest gdzieś indziej bo do końca nie wiem czy atmega328p smd
    jest oryginalna, wygląda na oryginał, wszystko działa jak trzeba, ale...

    przepisanie 7 bitów rejestru UCSR0C przy każdej zmianie Stop Bit i Parity pomogło i działa, cel osiągnięty.

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


    pozdrawiam.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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