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 lip 2025, o 14:29


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 22 maja 2018, o 09:36 
    Offline
    Użytkownik

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

    Witam panowie i panie.

    Potrzebuje odebrać do 10 znaków przez uart odrazu do tablicy np bufor[10] lub do struktury, nie ma znakow konca nadawania jak /n i /r poprostu kończy wysyłać, jak wsadzić teraz znaki odebrane np pętlą for lub jakos inaczej poprzes funkcje Mirka uart_getc() ; z MKuart?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2018, o 10:08 
    Offline
    Użytkownik

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

    Opisz dokładnie w czym rzecz bo nie za bardzo wiem o co chodzi.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2018, o 10:10 
    Offline
    Użytkownik

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

    I skąd będziesz wiedział że ramka została w pełni odebrana? Ilość znaków, timeout?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2018, o 11:38 
    Offline
    Nowy

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

    Mało informacji o sytuacji, ale najprostszy sposób na wysyłanie większych danych niż 9 bitów to:
    -wykorzystać normalnie UART z biblioteką z BB jako solidny protokół komunikacji;
    -podzielić wysyłane 10 bitów danych na pół;
    -wysłać dwie ramki danych 6 bitowe;
    -pierwszy lub ostatni bit ramki wykorzystać jako informację o sekwencji, np 0 - pierwsza połowa danych, 1 - druga połowa;
    -odczytać obie ramki i połączyć dane zgodnie z kolejnością tego bitu.

    Możesz użyć większej ramki do bardziej złożonego zapisu sekwencji lub do dodatkowej odporności na błędy.

    Pytanie tylko czy Ty możesz wpływać na wysyłany format danych.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2018, o 12:14 
    Offline
    Użytkownik

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

    O się panowie rozpędzili,
    Ale tak malo danych, moje skróty myślowe
    10 znaków = 10 bajtow,
    Normalna transmisja rs232, stan wysoki jako brak transmisji,
    Dokladnie transmisja MIDI,

    Odbieranie bajtu przez uart_getc() dziala jak trzeba itp ale chce zapisac to do tablicy lub struktury żeby potem te bajty przypisać, bo ta transmisja jest uporządkowana na sztywno wiec parsowac jakos specjalnie nie trzeba.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2018, o 12:57 
    Offline
    Użytkownik
    Avatar użytkownika

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

    Cytuj:
    10 znaków = 10 bajtow,
    Normalna transmisja rs232, stan wysoki jako brak transmisji,
    Dokladnie transmisja MIDI

    Szofer napisał(a):
    Odbieranie bajtu przez uart_getc() dziala jak trzeba itp ale chce zapisac to do tablicy lub struktury
    Jak masz stałą ramkę to chyba lepiej zrobić odbiór na przerwaniach od razu do tablicy a po jej zapełnieniu ustawienie znacznika dla programu, że dane gotowe. Dzięki temu nie masz blokowania w programie na czekanie na dane oraz nie musisz przepisywać z bufora odbioru do tablicy.
    Chyba że dane przychodzą tak szybko, że musisz buforować kilka ramek zanim je obrobisz (niestety nie zagłębiałem się w MIDI ze względu na to słoń mi na ucho nadepnął ;) ).

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2018, o 19:32 
    Offline
    Użytkownik

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

    Program ogólnie czeka na akcje z uart lub enkodera, nic wiecej nie ma robic jak narazie, w planach dadatkowe wodotryski ale na to przyjdzie czas, narazie odpalam krok po kroku

    Przesłanie 3 bajtow (dokladnie 30 bitów) to w czasie 0.96ms



    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 6 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO