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 22 lip 2025, o 03:59


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
    Autor Wiadomość
    PostNapisane: 3 sty 2013, o 16:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 maja 2012
    Posty: 296
    Lokalizacja: Chebzie Dolne
    Zbananowany użytkownik

    Pomógł: 6

    Witam!
    Czy ktoś z szanownych kolegów robił może już taką komunikację. Jakieś wskazówki, porady na co zwrócić uwagę.
    Z tego co wyczytałem najgorzej będzie zrobić proga dla slave?

    Pozdro

    _________________
    Inspekcja TV kanalizacji
    Programowanie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sty 2013, o 16:19 
    Offline
    Moderator
    Avatar użytkownika

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

    developer85 napisał(a):
    Z tego co wyczytałem najgorzej będzie zrobić proga dla slave?


    No troszkę będzie z tym roboty, sam nie robiłem tego ale można w necie znaleźć różne gotowe biblkioteki ze Slave I2C sprzętowym - nie powinno być źle. Można je albo zaadaptować albo podpatrzeć i przerobić pod siebie. Na pewno gdzieś takie po drodze widziałem gdy interesowałem się kiedyś tym tematem.

    _________________
    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: 3 sty 2013, o 16:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 maja 2012
    Posty: 296
    Lokalizacja: Chebzie Dolne
    Zbananowany użytkownik

    Pomógł: 6

    Jestem własnie zmuszony użyć I2C do takiej specyficznej komunikacji bo mam tylko dwa "kabelki" wolne. Ok poszperam w necie i jeśli coś będzie nie teges to napisze:)

    ------------------------ [ Dodano po: 20 minutach ]

    Wpadł mi jeszcze jeden pomysł do głowy: ewentualnie zastosować procka w dwoma UART-mi? i problem transmisji z głowy:)

    _________________
    Inspekcja TV kanalizacji
    Programowanie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sty 2013, o 17:08 
    Offline
    Użytkownik

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

    zawsze możesz zrobić uarta programowego

    _________________
    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: 3 sty 2013, o 17:20 
    Offline
    Moderator
    Avatar użytkownika

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

    developer85 napisał(a):
    Wpadł mi jeszcze jeden pomysł do głowy: ewentualnie zastosować procka w dwoma UART-mi? i problem transmisji z głowy:)


    Ja zawsze jak miałem się zabrać za komunikację I2C master/slave to kończyło się to zwykle właśnie na UART ;) .... nawet metodą programową jak słusznie wyżej podpowiada SunRiver. Wszystko zależy do czego i jaka ma być to transmisja na tym kanale że tak powiem. Jeśli TYLKO coś wysłać to UART programowy może okazać się zbawieniem ;) i będzie TYLKO jedna linia ;)

    _________________
    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: 3 sty 2013, o 17:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 maja 2012
    Posty: 296
    Lokalizacja: Chebzie Dolne
    Zbananowany użytkownik

    Pomógł: 6

    dzięki za podpowiedzi:)

    _________________
    Inspekcja TV kanalizacji
    Programowanie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2013, o 08:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 maja 2012
    Posty: 296
    Lokalizacja: Chebzie Dolne
    Zbananowany użytkownik

    Pomógł: 6

    Pewnie że mam wolnego INT0-a, generalnie pomysł z programowym UART-em mnie zadowala w pełni.
    Ale jeśli Antystatyczny chcesz się pobawić to czemu nie, przyda się nie tylko nam ale myślę wielu urzytkownikom.

    _________________
    Inspekcja TV kanalizacji
    Programowanie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2013, o 21:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 sie 2012
    Posty: 52
    Lokalizacja: Toruń
    Pomógł: 1

    Witam.
    developer85 napisał(a):
    Czy ktoś z szanownych kolegów robił może już taką komunikację. Jakieś wskazówki, porady na co zwrócić uwagę.
    Z tego co wyczytałem najgorzej będzie zrobić proga dla slave?

    Pozdro

    Komunikacja mikroprocesorów atmega magistralą sprzętową TWI jest bajecznie łatwa pod warunkiem zastosowania odpowiedniej biblioteki dla atmegi-master i odpowiedniej biblioteki atmegi-slave(może być ich kilka), i tu właśnie przychodzi z pomocą pan Manfred Langemann autor tych bibliotek. Ja tylko dodam, że u mnie komunikacja z atmegami po TWI działa w dwie strony bez problemów - oczywiście dostosowałem(w niewielkim stopniu) te biblioteki od swoich potrzeb. Porty SDA i SCL są ustawiane automatycznie przez sprzętowe TWI. Atmegi zasilam tak jakbym korzystał z ADC. Przy atmega-master port SDA jest podłączony przez rezystor 4,7kOm do plusa zasilania, i port SCL jest podłączony przez rezystor 4,7kOm do plusa zasilania. Przy atmega-slave takich rezystorów niema. Wszystkie porty SDA są połączone ze sobą, wszystkie porty SCL są połączone ze sobą, wszystkie masy procesorów atmega są połączone ze sobą. Korzystam z procesorów Atmega8(docelowo trzy: 1 master i 2 slave) taktowanych "wewnętrznie RC" 8MHz docelowo będą kwarce.

    TWI_Slave.h
    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.


    TWI_Slave.c
    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.


    TWI_Master.h
    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.


    TWI_Master.c
    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.


    General.h
    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.


    Przykłady jak zastosować biblioteki w swoich programach zamieszczone sa w plikach *.c przez ich autora, więc nie powinno być kłopotów z dostosowaniem do swoich potrzeb.
    Mam nadzieje, że pan Mirek kiedyś o sprzetowej magistrali TWI zrobi poradnik video.

    Piotr



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sty 2013, o 22:20 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2012
    Posty: 291
    Lokalizacja: okolice Opola
    Pomógł: 20

    Bardzo nie podoba mi się w pliku General.h ta struktura, zabiera ona niepotrzebnie miejsce we flashu, więc można to spokojnie odrobinkę przerobić.

    Po 2 to co rozumiesz poprzez słowo poradnik na temat i2c :?
    Bo napisać kilka funkcji typu send_i2c(), receive_i2c(), init() itp. to i przy[....cenzura.... mirekk36 ... hola hola panie kolego - tu u nas na forum trochę inne zasady panują ok? .... ] napisze wg noty procesora a można je spokojnie "scalić" z bibliotekami uartu (mam na myśl zastosowanie np. buforu cyklicznego itp.)
    Ja bardziej byłbym właśnie za poradnikiem odbioru - nadawania pomiędzy prockami (chodzi mi o to jak napisać protokół transmisji, ew. zadbać o brak przekłamań np CRC).

    [uwaga! celem tego forum nie jest pokazywanie jaki to ja jestem mądry .... tu wchodzą początkujący dla których - może być to problem i to poważny. więc zamiast pisać takie rzeczy - lepiej jest pomóc i np pokazać taki kod napisany własnymi łapkami, jakiś poradnik zrobić na forum]
    Bo właśnie napisanie kodu wg. noty kat. to żaden problem, ale zadbanie o to aby było to uniwersalne, szybkie , spójne jest rzeczą trudniejszą.


    [ bardzo proszę i gorąco kolegę - o dostosowanie wypowiedzi do tonu naszego forum OK - tylko to się u nas najbardziej liczy i tak już zostanie na zawsze - dobrze ? ]

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 sty 2013, o 00:02 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 sie 2012
    Posty: 52
    Lokalizacja: Toruń
    Pomógł: 1

    No i posypały się gromy na mnie. No, cóż ja też jestem początkujący, języka C uczyłem się sam z internetu a na ile go umiem - to jet dobre pytanie. Kiedyś potrzebowałem komunikacji między atmegami przez TWI to szukałem, szukałem, i szukałem aż znalazłem to co wyżej opublikowałem i co mi zadziałało, więc podzieliłem się tym co znalazłem, kto potrzebuje to skorzysta, kto chce na podstawie noty katalogowej sam dochodzić jak stworzyć komunikacje to proszę bardzo to czynić. Ja procedury z tych bibliotek traktuje jak "gotowe klocki lego" i je dla własnych potrzeb zestawiam nieco je modyfikując. I z nich buduje komunikację na szynie TWI. Z pliku "General.h" używam tylko
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    resztę usuwam, a zamieściłem ten plik , bo był w komplecie. Nigdy nie twierdzę, że jestem mądrzejszy od szanownych kolegów, wręcz przeciwnie sam potrzebuje pomocy, dlatego bardzo bym był ciekawy poradnika video o magistrali TWI "od a do z".

    Piotr



    Ostatnio edytowano 5 sty 2013, o 01:17 przez p_zag, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 sty 2013, o 00:04 
    Offline
    Moderator
    Avatar użytkownika

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

    p_zag ---> czy ty przypadkiem nie zrozumałeś TOTALNIE opacznie tych uwag???? przecież skierowałem je do autora tego postu (TYLKO do niego) czyli do kolegi krafin. Więc co ty piszesz ??? jakie gromy na ciebie ??? eeeh ;)

    _________________
    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 sty 2013, o 00:13 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 sie 2012
    Posty: 52
    Lokalizacja: Toruń
    Pomógł: 1

    Ups!....



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 sty 2013, o 11:50 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 maja 2012
    Posty: 296
    Lokalizacja: Chebzie Dolne
    Zbananowany użytkownik

    Pomógł: 6

    p_zag - dzięki wielkie za podzielenie się kodem. generalnie też tego szukałem żeby jak to ująłeś "skorzystać z gotowych klocków" bo moja wiedza na temat C nie jest na poziomie żeby samemu zrobić z datasheeta biblioteki!!!
    Tak, że jeszcze raz dzięki wielkie:)

    _________________
    Inspekcja TV kanalizacji
    Programowanie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2013, o 00:40 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2012
    Posty: 291
    Lokalizacja: okolice Opola
    Pomógł: 20

    Bardzo przepraszam, ale naprawdę nie chodziło mi o pokazanie jaki jestem mądry, czy co gorsza o obrażanie kogoś.
    Po prostu "nie wyczułem" jeszcze atmosfery tego forum, a czytając forum elektroda.pl oraz podobne nabiera się bardzo złych nawyków.

    Dlatego jeszcze raz bardzo przepraszam.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 sty 2013, o 09:08 
    Offline
    Moderator
    Avatar użytkownika

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

    krafin napisał(a):
    ........ oraz podobne nabiera się bardzo złych nawyków.


    Na prawdę chodziło mi tylko o to aby właśnie zaskoczyć o co u nas chodzi ;) cieszę się i dlatego myślę, że dalej już wszystko będzie dobrze.

    _________________
    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: 6 sty 2013, o 18:43 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 sie 2012
    Posty: 52
    Lokalizacja: Toruń
    Pomógł: 1

    Witam
    Jak by kogoś interesował ten temat to na stronie http://www.mikrocontroller.net/topic/87597#new jest ciekawy artykuł o nazwie "AVR TWI Master und Slave Funtionen in C", co prawda po niemiecku, ale z pomocą tłumacza z goole.pl można co nie co zrozumieć. Tu jest źródełko -> "TWI_Master-Slave_C_Functions.zip" właśnie z tej strony.
    Dla tych co lubią asemblera też coś się znajdzie http://www.mikrocontroller.net/topic/31404#new -> "TWI / I2C einf. MASTER SLAVE Beispiel(Assembler) ATmega8", ale i tu też jest coś w języku C.

    Piotr



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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