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 9 cze 2025, o 08:44


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 
    Autor Wiadomość
    PostNapisane: 13 sty 2018, o 21:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

    Witam zakupiłem powyższy moduł udało mi się go uruchomić na sprzętowym uarcie na Atmega8.
    Niestety w moim projekcie mam już zajęty sprzętowy uart. Pomyślałem o zakupie biblioteki Pana Mirka do obsługi soft uarta tylko nie jestem pewien czy będzie to dobrze współpracowało.
    Przez sprzętowy uart wysyłam do sterowania tym modułem przykładowo taką tablicę:
    uint8_t data[]={0x7E,0xFF,0x04,0x01,0x00,0xEF};
    Będą jakieś problemy żeby to wysłać za pomocą soft uarta?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2018, o 02:23 
    Offline
    Moderator
    Avatar użytkownika

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

    a jakie niby mają być ?

    _________________
    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: 14 sty 2018, o 07:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

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

    Z tego co pamiętam to w poradniku video do soft uarta był funkcja do wysyłania char i stringa a tu mam liczby hex.
    Panie Mirku jeśli nie będzie z tym problemu to super i zaraz zamawiam Pana bibliotekę.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2018, o 08:50 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 cze 2014
    Posty: 855
    Lokalizacja: pod Warszawą
    Pomógł: 58

    cześć
    to sobie pozamieniasz hex -> ASCII i wyślesz.
    Soft uart działa bez pudła - sprawdzone "organoleptycznie".
    Są funkcje wysyłające nie tylko stringi np:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    pozdrawiam

    _________________
    Pomóżcie mi stanąć na nogi



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 sty 2018, o 10:59 
    Offline
    Moderator
    Avatar użytkownika

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

    Panowie panowie - a czym się to różni? (pomijam tu różnicę może w samych wartościach)

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


    od np


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


    albo i od tego

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


    to do wysłania każdej z tych tablic trzeba coś konwertować ? a do czego - że tak zadam nieśmiało pytanie ? (co wg was siedzi w tych tablicach? ;) )

    _________________
    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: 15 sty 2018, o 14:54 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

    Są w tych wszystkich tablicach liczby typu uint8_t?
    Bibliotekę dziś zakupiłem i już mam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 18:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

    do usunięcia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 18:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    czarnieski napisał(a):
    Ale to nie działa.
    Nie działa, to znaczy co? Nic nie wysyła. Czy otrzymujesz coś innego?
    Poprawnie masz skonfigurowane parametry dla soft uartu oraz go zainicjowałeś?

    --
    Pozdrawiam,
    Robert



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

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

    Sprawa wygląda tak mam bibliotekę Pana Mirka. Biblioteka działa tzn wysyła znaki string jest ok. Natomiast co do tablicy z liczbami hex jest problem. Na sprzętowym uarcie w terminalu wygląda to tak:
    Obrazek
    i DFPlayer działa.
    Za pomocą biblioteki wysyłam to tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    W terminalu wygląda to tak:
    Obrazek
    i DFPlayer nie działa.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 19:45 
    Offline
    Moderator
    Avatar użytkownika

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

    czarnieski napisał(a):
    Są w tych wszystkich tablicach liczby typu uint8_t?

    no dokładnie są liczby - a ty wysyłasz co?

    czarnieski napisał(a):
    uart_putint(data[i]);

    Panie Panie - co ty wysyłasz ? naprawdę warto poznać podstawy C - ZDECYDOWANIE polecam Bluebooka jeśli jeszcze nie masz

    http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

    to wysyłasz liczby zamienione na string ... mówię ci poczytaj Bluebooka o typach w języku C, o tablicach

    a na początek OBEJRZYJ ŻE DOKŁADNIE chociaż TEN PORADNIK


    _________________
    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: 15 sty 2018, o 20:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    czarnieski napisał(a):
    i DFPlayer nie działa.
    Abyś bardziej zrozumiał gdzie robisz błąd (bo Mirek już teoretycznie powiedział o co chodzi) to musisz wiedzieć, że 0x7E to jest dziesiętnie 126 a znaki ASCII liczby 126 to kody 31 32 36. Czy nie przypomina Ci to tego co widzisz ...?
    Po prostu musisz użyć innej funkcji z biblioteki ...

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 20:27 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

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

    O to chodziło czy raczej nie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 20:39 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 550
    Pomógł: 28

    Cytuj:
    O to chodziło czy raczej nie?

    Wydaje mi się że nie, dlaczego bo ty masz te liczby wysłać binarnie a ty to zmieniasz funkcją utoa na ascii.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 20:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    czarnieski napisał(a):
    O to chodziło czy raczej nie?
    Raczej nie ... :(
    Zobacz co robi funkcja suart_putint(). Zamienia ona liczbę uint8_t na reprezentujący go zapis dziesiętny jako string. Czyli bajt 0x7E (126 dziesiętnie) zamienia Ci na 3 znaki 1 2 i 6, co widzisz w terminalu.
    Ty potrzebujesz wysłać wartość bez jakiejkolwiek zamiany. Czy nie masz przypadkiem funkcji o nazwie suart_putc() ?

    --
    Pozdrawiam
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 20:51 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 550
    Pomógł: 28

    Spróbuj tak
    Składnia: [ Pobierz ] [ Ukryj ]
    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: 15 sty 2018, o 20:53 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

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

    Domyślam się że mam wysłać liczbę bez jej zamiany na stringa czy chara ale każda z tych funkcji przyjmuje taki właśnie argument albo zamienia go potem za pomocą funkcji itoa().

    ------------------------ [ Dodano po: 10 minutach ]

    tonygryps spróbowałem ale też jest żle
    Składnia: [ Pobierz ] [ Ukryj ]
    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: 15 sty 2018, o 21:13 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 550
    Pomógł: 28

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

    ------------------------ [ Dodano po: 9 minutach ]

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

    rozumie że data to bufor w którym trzymasz te liczby do wysłania a i jakiego jest typu "char" czy uint8_t bo jak uint8_t to wywołaj to tak
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 21:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

    Takie dane otrzymuję w terminalu:7E 7E FF 7E FF 04 7E FF 04 01 7E FF 04 01 00
    tak ja wywołuje
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Coś jeszcze jest nie tak.

    ------------------------ [ Dodano po: 9 minutach ]

    Teraz mam w terminalu 7E FF 04 01 00 EF zaraz podepnę dfplayera?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 21:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    A dlaczego nie zamieniłeś z pierwotnego użycia soft uartu funkcji wprost z suart_putint(data[i]) na sputchar(data[i])?

    Te wszystkie proponowane rozwiązania z dodatkowymi funkcjami mają sens w przypadku wysyłania ciągów o zmiennej długości. Jak u Ciebie jest zawsze to ciąg o tej samej długości to możesz zrobić to jako zwykłą pętlę.

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 21:44 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 550
    Pomógł: 28

    wywołuj bez tej pętli for tak jak ci pisałem wypluwa ci to co masz w buforze data po kolei.

    Cytuj:
    A dlaczego nie zamieniłeś z pierwotnego użycia soft uartu funkcji wprost z suart_putint(data[i]) na sputchar(data[i])?

    tak masz rację ale chciałem aby funkcja była jak najbardziej uniwersalna.



    Ostatnio edytowano 15 sty 2018, o 21:47 przez tonygryps, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 21:46 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 gru 2014
    Posty: 25
    Pomógł: 0

    Działa :D Wielkie dzięki tonygryps. I wszystkim za pomoc dzięki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 sty 2018, o 21:50 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 550
    Pomógł: 28

    Niema za co.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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