Fórum témák
» Több friss téma |
Szerintem úgy jársz a legjobban (ha a feladat megengedi), hogy a SLAVE-t folyamatosan olvasod, bepuffereled (és megváltoztatod az adatokat), a HW I2C-n meg küldöd a MASTER-felé. Persze ajánlott a dupla-puffer (ha gyors a kommunikáció), no meg ha super-fast sebességgel kommunikál a MASTER (1Mbps), azt nem tudom, tudja-e az AVR.
Köszönöm a hozzászólásokat, akkor megpróbálkozok vele.
Épp ellenkező probléma volt, a master túl lassan, csak 10 kHz-es sebességgel olvasott az AVR-től. Így egy-egy adatcsomag elküldése közben gyakran megváltoztak egyes adatrészletek a tízszer gyorsabban olvasott slave eszközből és így gyakran értelmezhetetlen adatcsomagot kapott a master.
Végül dupla puffereléssel sikerült megoldanom, amíg a master nem végzett egy teljes adatcsomag lekérésével, addig a kimenő pufferben nem frissítek semmit. Amúgy egy autórádió fejegységben a multikormány kapcsolójeleit hackeltem meg és tökéletesen működik a dolog, ahogy szerettem volna. Az AVR értelmezi, hogy milyen gombot nyomtak meg és bizonyos feltételek szerinti szűrés után tükrözi csak tovább az adatokat a rádió fejegység CPU-ja felé.
Ilyen kijelzőket szertnék sorolni , néztem a HT 16K33 adatlapját de nem találtam sehol hogy hogyan lehet többet használni egymás után-egymás mellett egyáltalán megoldható ? Vagy oldjam meg inkább másfajta portbővítővel ?
A kijelző képén ott az A0, A1 és A2 jumper. Az adatlap szerint a 20 lábú változatnak fix címe van, a 24 lábún két címbitet lehet változtatni (négy IC "fér" el egy buszon), a 28 lábú változatnak már három címbite változtatható (nyolc dudás fér meg egy csárdában).
A hozzászólás módosítva: Szept 30, 2021
Köszi ! Megpróbálom lefordíttatni és belevetem magam az adatlapba !
Mindegyiken van 3 forrasztopont. Ezeken beállitasz más-más konfiguraciot.
Nem irod mivel dolgozol. Egy arduinohoz van I2C scanner, amivel mindegyik modul cimét az elején beszkenneled és az lesz a cime.
Piccel vezérelném és Flowcode fejlesztővel írnám a programját . És a vicc kedvéért 39 digit kell ...
A hozzászólás módosítva: Szept 30, 2021
Abban sajnos nem tudok segiteni. Esetleg nèzz körül, lehet, higy a PICte is van I2C scanner, vagy átmenetileg leskenneled ( -nelteted) egy Arduinoval. Ha itt lennél a közelben szivesen megtenném, nem tart semeddig.
Itt van elöttem az én cuccom, 8 modult, 192 LEDet meg 64 bemenetet kezel . A hozzászólás módosítva: Szept 30, 2021
Valószínű hogy ezt elengedem , ha a 28 lábút használom akkor is kevés a digitszám
Nem egészen értem. A te moduljaidon kivétel nélkül a 28 lábu IC van, azaz 8-t lehet egy BUSra kötni. De van néhány trükk amivel akár a többszörösét is meg lehet hajtani.
Hányat kellene neked meghajtani?
Lehet több I2C egy Piccel. Pld.: 3x I2C is csak 6 láb.
Az 10 modul, 10 cim kell.
( 40 karakter). A hozzászólás módosítva: Szept 30, 2021
Ez már meggondolandó .... Csak a címek kiolvasását kellene valahogy távolról megoldanom , mert én Szegedi vagyok a cucc meg Egerben készülne , lehet hogy maradok a jólbevált 74595 nél ...
Még annyi sem, hiszen csak az SCL meg az SDA lábakat kell párhuzamosan kötni. Azaz akármennyi I2C modul van csak 2 vezeték kell.
Ha valoban 9 karakter kell akkor kell 10 cim, de azt meglehet egy multiplexxel is oldani. A hozzászólás módosítva: Szept 30, 2021
Én nem használok ilyen csipeket nem tudom mennyire kompatibiliesek ezek egymással. Kétféle áramköröm van nekem semmi gondom nincs velük.
Igy nehéz válaszolni, de ha megirod mi is a terved, elvben akármennyi lehet. Az én áramköreim tartják a kimenetet, azaz egy multiplexxerrel kapcsolhatsz 8 blokkot mindegyikben 7 cim ( modul) lehet. Azaz 8x7x2 karakter.
Egy rtc (DS3231) óra és hozzá 3*12 digit kijelző , az egyik az aktuális időt ( órát évet évtizedet évszázadot (hónapot 3 betűvel 14szegmensen) mutatja a másik két 13 digiten meg más adatokat , de mint írtam sajnos nekem így már hogy címeket kell kiolvasni nem opció ez a megoldás a távolság miatt .
Milyen cím kiolvasás? Te adod meg I2C-ben a kijelző címét.
Hogyan ? Egyszer kell megadni , vagy minden adatkiírásnál ? Én ennyit tudok a dologról
A hozzászólás módosítva: Szept 30, 2021
Nem kell neked semilyen cimet kiolvasnod. Az csak az épitésnél lehet hasznos, amikor összedugod a modulokat és megmutatja milyen cimek vannak a procihoz kapcsolva. Semmi másra nem kell kiolvasnod a cimeket. Csak a programban kell megadnok milyen adat melyik cimre legyen küldve. A kommunikácio majdnem egyirányu.
Ha nekiülsz és kiszámolod a cimeket ugy is lehet, csak nagyobb a hiba veszélye.
Hogyan lehet kiszámolni ? És mit multiplexelek ha több kell 8 nál ?
Szivesen segitek, de irj privatban egy e-mail cimet,
Köszönöm a felajánlást de nagy a valószínűsége hogy nem merülök bele .Van más megoldás amivel nem kell kínlódnom ,legfeljebb a nyák tervezés tart kicsivel tovább .
Ez nagy segítség volt most már értem , az adatlapon láttam ezt a "táblázatot" de nem igazán tudtam értelmezni , így már teljesen más a leányzó fekvése . Tulajdonképpen én választom ki a címeket (amit az adatlapon megtalálok ) a jumperekkel ...
Ha csak az IC-t szeretnéd használni, az több digitet is tud. Ha a megadott modulokat, szerintem a legolcsóbb mindegyik sorra egy slave PIC-et rakni.
|
Bejelentkezés
Hirdetés |