Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 15 sty 2025, o 16:26


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 8 sty 2025, o 16:57 
Offline
Nowy

Dołączył(a): 26 gru 2024
Posty: 19
Pomógł: 0

Hej.

Moje pytanie jest w kontekście ATTiny1604, ale wiem, że to mało znany procek. Jeśli go nie znacie, to dajcie mi info z doświadczeń z innym z rodziny, prawdopodobnie rozwiązanie będzie podobne.

Co chcę zrobić? Mam N czujników na I2C o identycznej konstrukcji. By uniknąć programowego nadawania im adresów, pomyślałem, że wykorzystam General Call (adres 0), w którym prześlę komendę (bajt) i adres, jaki ma czujnik otrzymać. Wszystkie czujniki odczytają ten adres, ale tylko ten, w którym nacisnę jakiś przycisk, zapamięta go jako swój własny.

Idea pozornie prosta, ale za diabła nie wiem czy czujnik (klient TWI) został wywołany po jego własnym adresie, czy po General Call. Da się to jakoś sprawdzić? Chciałbym odseparować logikę General Call i wywołań po konkretnym adresie.

Ale to jeszcze nie koniec wątpliwości. Zanim w ogóle się za to zabiorę, to czy w General Call można przesłać dowolną ilość bajtów? Master nie otrzymuje w tym trybie ACK od klientów. W opisie standardu nie ma jednoznacznej odpowiedzi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sty 2025, o 11:53 
Offline
Moderator
Avatar użytkownika

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

Cytuj:
:idea: pozornie prosta, ale za diabła nie wiem czy czujnik (klient TWI) został wywołany po jego własnym adresie,

No to zaraz zaraz - to ty wiesz co robisz czy nie wiesz? Jak można tak pisać skoro to ty piszesz program ... i nie wiesz jak wywołujesz (adresujesz) klienta????

User napisał(a):
Ale to jeszcze nie koniec wątpliwości. Zanim w ogóle się za to zabiorę, to czy w General Call można przesłać dowolną ilość bajtów? Master nie otrzymuje w tym trybie ACK od klientów. W opisie standardu nie ma jednoznacznej odpowiedzi.

Bo szukasz w standardzie zamiast w PDF układu slave. Oczywiście że można w generall call przesłać bajtów ile chcesz, a że nie ma ack to nie masz pojęcia czy ktoś je odbiera czy informacje lecą w kosmos. Próby robienia urządzeń z komunikacją danych krytycznych po general call to średnio dobre rozwiązanie

_________________
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: 9 sty 2025, o 13:45 
Offline
Nowy

Dołączył(a): 26 gru 2024
Posty: 19
Pomógł: 0

mirekk36 napisał(a):
No to zaraz zaraz - to ty wiesz co robisz czy nie wiesz? Jak można tak pisać skoro to ty piszesz program ... i nie wiesz jak wywołujesz (adresujesz) klienta????


No wiem jak klienta wywołuję: np. po adresie 0 lub np 0x8. Ale klient nie wie po jakim adresie został wywołany, a takich adresów może posiadać sporo, nawet 127 na upartego. Zapytałem o możliwość dowiedzenia się przez klienta, nie przez mastera, po jakim adresie został wywołany.

Uruchomiłem komunikację z klientem póki co na sztywnym adresie, tylko w ramach sprawdzenia, czy komunikacja działa. Docelowo tak nie ma być. Może innymi słowy opiszę... Chciałbym, by klient zaraz po zmonitowaniu nie miał prywatnego adresu. Zyska go w trakcie konfiguracji i najlepiej - bez użycia lutownicy. Jaki to będzie adres - tylko płyta główna wie. Właśnie podczas konfigurowania czujników płyta przekaże klientowi/klientom w General Call (o ile się da) tenże adres. Tak jak pisałem - adres zostanie zaakceptowany przez czujnik po naciśnięciu na nim przycisku, lub czegoś tam innego. Taką mam ideę. Nie wiem, czy słuszną.

mirekk36 napisał(a):
Próby robienia urządzeń z komunikacją danych krytycznych po general call to średnio dobre rozwiązanie

Tak, wiem. Ale uznałem, że robienie N takich samych czujników i programowe nadawanie każdemu z nich na sztywno innego adresu - czyli przypisywanie go z góry do miejsca instalacji, to jeszcze bardziej słabe podejście. Na WiFi też łączysz routery przyciskiem a'la Generall Call. Pomyślałem, że zrobię podobnie na TWI.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sty 2025, o 18:05 
Offline
Moderator
Avatar użytkownika

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

to że ty uznajesz że nie warto trzymać się standardu I2C to wiesz - kogo to interesuje - rób jak chcesz, jakie ci się tylko bzdury przyśnią i nie opowiadaj mi tu o setkach jakichś wyimaginowanych czujników na I2C. Toż przy 7-bitowych adresach można ich podłączyć mnóstwo i nikt nigdy nie podłącza ich w praktyce nawet więcej niż połowę - a ty tu zmyślasz jakieś teorie z kosmosu i fantasmagorie

ja nie mam zamiaru dalej brać udziału w twoich fantasmagoriach - już ci mówiłem, pisz konkretnie co chcesz uzyskać zamiast fantazjować

_________________
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: 9 sty 2025, o 21:14 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2591
Pomógł: 128

A tak z czystej ciekawości na jakiej odległości zamierzasz gadać z tymi slave'ami po I2C?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 sty 2025, o 21:28 
Offline
Nowy

Dołączył(a): 26 gru 2024
Posty: 19
Pomógł: 0

micky napisał(a):
A tak z czystej ciekawości na jakiej odległości zamierzasz gadać z tymi slave'ami po I2C?


Orientacyjnie ok 30 cm. Ubiegając pytania: czujników będzie 5, czy 6.

Zresztą nie chodzi mi o konkretny projekt, gdyż wcześniej użyłem ich w innej aplikacji. Chodzi mi bardziej o to, że chciałbym uniknąć programowania ich na stałe adresami. Ostatecznie zrobię zwory na każdym z nich, skoro nie da się inaczej.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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