- Milyen TV-t vegyek?
- OLED TV topic
- Asztrofotózás
- Azonnali alaplapos kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- VR topik (Oculus Rift, stb.)
- ThinkPad (NEM IdeaPad)
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Tetőfokára hág a tavasz, és ezt a hardverek is érzik
- Épített vízhűtés (nem kompakt) topic
Hirdetés
-
Már elérhető Steamen a klasszikus Marathon
gp A közkinccsé tett alkotás eddig is ingyen játszható volt, de nemrég végre bekerült a Valve áruházába is.
-
Már nem hisz a nagy európai EV-forradalomban a Ford
it Meggondolta magát a Ford, a helyzetre való tekintettel 2030 után is kínálhat Európában hibrid és benzines autókat.
-
A Corsair égisze alá kerül a Fanatec
ph A szimulátorrajongók körében nem épp ismeretlen név követi a a Drop, az Elgato, az Origin PC és a SCUF Gaming által kitaposott ösvényt.
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
atesss
addikt
Üdv !
Használt már itt valaki PCF8574 alapú I2C-s I/O modult ?
Azon belül is a különálló Interrupt Pin működése érdekelne.
Én ugyan most Raspberry Pi-n használom, Python kóddal, de ez a probléma nem úgy néz ki hogy ettől függene, a modul működésében lehet valami hiba vagy furcsaság.Ez az Interrupt pin arra szolgálna, hogy ha történik bármelyik PIN-en változás, akkor ez a pin megváltozik. A fő kontroller így elég ha csak annyit csinál, hogy ezt a pin-t figyeli (akár interrupt-al, de akár csak polling-al). És csak akkor állok neki az I2C-n keresztül kiolvasni a bemenetek állapotát, ha ez a pin jelzi hogy változás történt.
Az hátrány, hogy egy külön pin-t fel kell használni hozzá.
Cserébe a kód gyorsabb tud lenni, meg kevesebb erőforrást használ (nem használom folyamatosan az I2C buszt). Egy Arduino-n ez szerintem még inkább fontos tud lenni.Én konkrétan ezt a modult használom: [link]
Ahogy láttam, nem mindegyik modulnál van sajnos kivezetve ez az Interrupt pin.
Az IC adatlapja [link] elég részletesen leírja a működését (az INT működése részletesen: 11.old).
A 15. oldali példakapcsolás alapján kötöttem be (10 kOhm pullup VC-re). Annyi, hogy nálam nem rögtön megy a fő kontrollerre, hanem még van ott egy 330 Ohm ellenállás is sorosan (ezt biztonsági okból a Raspberry-nek minden használandó GPIO pinjére felraktam, kapásból, fixen).
Én úgy vettem ki a leírásból (meg ez is lenne a logikus), hogy ahogy csinálsz a modulról egy kiolvasást, akkor az INT pin rögtön "nullázódik" is. Ez elvileg mindössze 4us kéne legyen (adatlap: 5.old).
Amikor változás van, rendben 1-be vált az INT pin. Utána kiolvasom az összes bemenetet, rendben látszik is hogy a PCF8574-nek melyik bemeneti pinje változott meg.
De az INT 0-ban marad ez után is, nagyon sokáig.
Direkt beraktam sleep-et, hogy teszteljem ezt, és még 0.1s után is maradt.
A programkódom ennek ellenére jelenleg ellátja a feladatát, és épp a következő gomb-megnyomáskor vagy elengedéskor mégis újra meghívja a kiolvasó függvényt. Ezt még nem teljesen értem hogyan, most próbálom kideríteni
De attól még a modul nem működik úgy ahogy kellene.
Multiméteren is felugrik az érték az INT pin-t mérve (ha pár msec lenne, akkor ezt nem mutatná ki), de szkóppal sajnos most pont nem tudom megnézni pár napig.
Van valakinek ötlete ?[ Szerkesztve ]
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen