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 02:27


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
    Autor Wiadomość
    PostNapisane: 5 mar 2013, o 14:30 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lut 2013
    Posty: 126
    Lokalizacja: Turbia
    Pomógł: 0

    Cześć, właśnie pracuję nad obsługą rsa, nadawanie działa mi bez problemu odbieranie też ale mam problem, otóż dane docierają do bufora cyklicznego i chcę je jakoś przekazać do programu żeby np wyświetlić je na LCD, niestety nie umiem wymyślić sposobu jak to zrealizować.
    Program mam z niebieskiej książki.

    Mógłby ktoś bardziej doświadczony coś podpowiedzieć?

    Pozdrawiam

    _________________
    Zestaw ATB 1.04
    Niebieska książka
    Zielona książka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 mar 2013, o 14:36 
    Offline
    Moderator
    Avatar użytkownika

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

    Najpierw musiałbyś się zastanowić

    1. o jakie dane chodzi
    2. i jak je obrabiać

    bo zwykle na pytanie TAK OGÓLNE to nic nie można odpowiedzieć.

    Podstawy tego jak odbierać pojedyncze bajty - masz w niebieskiej książce - zajrzyj sobie do rozdziału "Wstęp do systemów czasu rzeczywistego" i zobacz tam jak realizowane jest odbieranie pojedynczych bajtów np z terminala i za ich pomocą zapalanie bądź gaszenie diody LED .... masz gotowy przykład

    bardziej rozbudowana komunikacja - jeśli chodzi o wygodne przesyłanie stringów i ich parsowanie czyli obróbkę - jest w ostatnim rozdziale drugiej - zielonej książki. Ale i na naszym forum znajdziesz przykłady jak koledzy na bazie tylko niebieskiej sami próbowali dochodzić do zrealizowania odbierania stringów - i to z powodzeniem.

    _________________
    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: 5 mar 2013, o 14:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lut 2013
    Posty: 126
    Lokalizacja: Turbia
    Pomógł: 0

    Narazie chodzi mi właśnie o wyświetlenie np napisu na LCD, jedyne co mi sie udało to wyświetlanie kolejno po jednym znaku i to z dużym opóźnieniem.

    Poszukam tego co radzisz, dzięki.

    _________________
    Zestaw ATB 1.04
    Niebieska książka
    Zielona książka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 mar 2013, o 19:44 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    Witam! Do Atmegi32 mam podłączonego MAX232 oraz konwerter USB z układem MCP2200. Narazie interesuje mnie odbiór danych. Robię wszystko tak jak p. Mirek opisał w swojej książce. Wszystko ładnie śmiga. Nurtuje mnie jeden problem. Wybór w jaki sposób odbieram dane czy po USB czy bezpośrednio po RS232 realizuję sprzętowo poprzez odpowiednią zworkę. Czy jest możliwość takiego wyboru ale programowo i czy jest też możliwość jednoczesnego odbioru danych przez USB i RS232? Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 mar 2013, o 20:49 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    lukas , czegoś nie rozumiem .....

    MCP2200 to tylko przejściówka USB - RS232 TTL więc gdzie tu wybieranie czy USB czy RS ??

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 mar 2013, o 21:21 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    tak wiem, równie dobrze mógłbym podłączyć dwa rs232 i realizować to w ten sam sposób. Chodzi mi o to czy jest jakaś możliwość obsługi dwóch rs232 jednocześnie czy tak jak w moim przypadku takiego konwertera USB razem z rs232.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 mar 2013, o 21:37 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    tak jest taka możliwość stosuje ten typ na płytkach z M128 gdzie na jednym UART0 wieszam FT232 lub MCP2200 a UART1 mam puszczony przez MAX232 i jako TTL dzięki czemu mam komunikację np:

    Bootloader dla klienta USB <--> UART0
    komunikacja z modułami np LCD-RS --> UART1

    oba pracują niezależnie ... a np komunikacja z bootloaderem lub przesyłanie danych z PC po USB jest identyfikowana na LCD wiszącym
    na drugim UARCIE

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 mar 2013, o 22:10 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    Ok. Dzięki za odpowiedź. Myślałem tylko, że jest jakiś tajny sposób na taką transmisję w uC tam gdzie jest tylko jeden UART np. w M32;) Pozdrawiam :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 mar 2013, o 22:14 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    ależ jest zawsze można drugi UART zrealizować programowo :)
    albo sięgnąć po nowsze procki z rodziny xx4 gdzie mamy :

    Mega164 /324 /644 /1284

    są zgodne pinowo z Mega16/32 a nowocześniejsze i z bogatszym wyposażeniem oraz większym flashem i Ramem

    gdzie prawdziwy potwór w obudowie DIP40 to Mega1284

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 mar 2013, o 22:45 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    To teraz bardzo mnie zainteresowałeś:) Nie wiedziałem, że można UARTa programowo zrobić. Czy w niebieskiej książce p. Mirka, bądź gdzieś tutaj na forum znajdę informacje jak to zrobić?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 mar 2013, o 23:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 maja 2012
    Posty: 758
    Pomógł: 9

    Programowy UART jest w niebieskiej książce z tego co pamiętam. Albo w kodach na DVD.

    _________________
    ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 mar 2013, o 01:10 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    Przejrzałem książkę jednak nie znalazłem w niej informacji o programowanym USARCIE. No chyba, że źle szukam :/. Mógłby mi ktoś to wyjaśnić albo podać na przykładzie jak to jest realizowane?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 mar 2013, o 11:56 
    Offline
    Użytkownik

    Dołączył(a): 23 sty 2013
    Posty: 126
    Pomógł: 0

    tumacie moje wypociny
    program powtorzy to co napisaliscie na terminalu. pamietajcie ze jak chcecie wyslac jakis tekst od nowej lini z procka na terminal to musicie zakonczyc go '\r\n'. po wcisnieciu ENTER na klawce poleci na terminal znak '\r' tylko.

    zawsze z komunikacja pomiedzy czymkolwiek i po jakimkolwiek protokole/sposobie zawsze jest wiecej czytania niz zapisywania. norma. mozna napisac taki odpowiedznik funkcji fgets na terminal. w sumie to co zrobilem troszke to przypomina. brakuje tylko ograniczenia co do ilosci odebranych znakow zeby bufor sie nie przepelnil.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 mar 2013, o 11:59 
    Offline
    Moderator
    Avatar użytkownika

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

    ukasz napisał(a):
    tumacie moje wypociny
    program powtorzy to co napisaliscie na terminalu. pamietajcie ze jak chcecie wyslac jakis tekst od nowej lini z procka na terminal to musicie zakonczyc go '\r\n'. po wcisnieciu ENTER na klawce poleci na terminal znak '\r' tylko.


    Dokładnie i to jest krok w dobrą stronę - kolejny przykład (bardzo dobry przykład) na tym forum - jak na podstawie tylko BlueBooka zabrać się za obsługę stringów nadchodzących - a ja w sposób nieco bardziej zaawansowany ale za to strasznie wygodny w użytkowaniu , w GreenBooku

    http://atnel.pl/jezyk-c-pasja-programowania.html

    w ostatnim rozdziale. Dlaczego tak ? dlatego że najpierw chciałem na wielu innych przykładach troszkę pokazać jak zabrać się za obsługę zdarzeń i callbacków - żeby przy obsłudze RS232 to wykorzystać - bo dopiero wtedy widać wielkie możliwości C w tym zakresie.

    _________________
    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: 27 mar 2013, o 12:14 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    Panie Mirku może Pan jako autor książki podpowie mi czy znajdę w niej informacje na temat programowego UARTu?:)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 mar 2013, o 14:18 
    Offline
    Moderator
    Avatar użytkownika

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

    lukas_ napisał(a):
    Panie Mirku może Pan jako autor książki podpowie mi czy znajdę w niej informacje na temat programowego UARTu?:)


    Akurat tą kwestią na pewno się nie zajmowałem w żadnej z dwóch książek .... ale polecam ci "Software UART module" z tej fajnej stronki pewnego Japończyka ;)

    http://elm-chan.org/cc_e.html

    ja kiedyś sobie z tego korzystałem z powodzeniem. Bardzo niewielka biblioteka - jedyna wada to to że nie mogą w tle działać inne przerwania. Jeśli to ci nie wystarczy to w necie znajdziesz jeszcze inne rozwiązania programowego uarta w C ale np oparte o jakiś timer i przerwanie zewnętrzne - dzięki czemu tej wady nie będzie

    lecz nie nastawiaj się w przypadku soft uarta na jakieś rewelacyjne możliwości - czasem lepiej jednak rozważyć procek który ma jednak dwa UARTy ... a wystarczy sięgnąć chociaż po ATmega88 i już dzięki dodatkowej możliwości modułu SPI można mieć drugi UART i to sprzętowy - polecam także takie podejście.

    _________________
    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: 27 mar 2013, o 14:43 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    Ok. Dziękuję za odpowiedź. Chodzi mi tylko, żeby odczytaną wartość ADC przesłać do PC. Myślę, że software uart spokojnie do tego będzie wystarczał. Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 mar 2013, o 15:13 
    Offline
    Moderator
    Avatar użytkownika

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

    Tak jeśli nic innego nie musi się dziać w tle w trakcie wysyłki to ten soft uarcik będzie działał ci ładnie

    _________________
    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: 27 mar 2013, o 15:44 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    Tylko z tego co tu widzę, to trzeba jakoś tego assemblera z C połączyć?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 mar 2013, o 15:54 
    Offline
    Moderator
    Avatar użytkownika

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

    wystarczy wgrać wszystkie pliki do folderu projektu, załączyć odpowiednie pliki nagłówkowe *.h tak jak w przykładowym programie zawierającym main() .... Bo tego konkretnego pliku przecież nie użyjesz - i wszystko się ładnie skompiluje. Nie wymaga to żadnych dodatkowych dziwnych czynności. Pliki z rozszerzeniem *.S będą normalnie kompilowane jak pliki źródłowe *.c

    _________________
    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: 28 mar 2013, o 13:40 
    Offline
    Użytkownik

    Dołączył(a): 16 mar 2013
    Posty: 157
    Pomógł: 6

    Dzięki za pomoc. Wszystko ładnie śmiga. Teraz chce się jeszcze zabrać za możliwość działania innych przerwań w tle.



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

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