-
Fototrend
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
No már elkezdtem írni hogy mi lehet ennek az "anomáliának" az oka.
Aztán miközben írtam, esett le hogy mi is van:
Mivel a --változásokat-- figyeli a PCF8574, akkor is van ugyanúgy interrupt, amikor elengedem a gombot (az INT pin akkor is 0-ba megy).
És a gombot jelző sárga jel ugye így pont az inverze. De amúgy semmi más különbség nincs, most teszteltem.
Valószínűleg csak annyi történt, hogy a 3. képnél még nyomva tartottam a gombot, amikor csináltam a képet. Vagy esetleg STOP-oltam a triggerelést a szkópon.
A sárga mérőfej magán az input porton volt (illetve egy 20cm-es hozzáforrasztott kábel végén).
A kék mérőfej pedig magán az INT porton (szintén egy 20cm kábelen).
A felhúzó ellenállás még nem került fel. Írtam, hogy direkt úgy tesztelem most a szkóppal, hogy még nem forrasztom fel őket.
Az I2C-s mérés is egy jó ötlet lenne. De közben még tesztelgettem, és egyértelműen programkód-oka van a dolognak.
Ámde azon belül valami nagyon is fura oka...
Direkt kiszedtem a GPIO interruptot. Illetve a PCF8574 beolvasását is közvetlenül a MAIN-be raktam (kiszedtem még a MAIN-ből meghívott függvényből is). De erre nem lett változás.
Eddig amit találtam hogy "megoldja" a problémát, ha kiprintelem a tömböt, amibe előtte már beolvastam a PCF8574-nek a portját.
Próbáltam, hogy kiprintelek egy másik, teljesen ugyanilyen adat-szerkezetű tömböt, de arra meg nem.
Szóval egyelőre tiszta X-akták...if GPIO.input(I2C_IO_INTERRUPT_GPIO) == 0:
# i2c_io_readed_array = i2c_io_reader()
print("------")
io_interrupt_flag = GPIO.input(I2C_IO_INTERRUPT_GPIO)
print("Interrupt pin állapota - olvasás előtt: ", io_interrupt_flag)
print("--")
i2c_io_readed_array = i2c_io.port
if len(i2c_io_readed_array) == 8:
# pass
print("az előző kiolvasás megfelelően megfordított értéke: ", i2c_io_readed_array_reversed)
teszt = i2c_io_readed_array
# print("A beolvasott port tömbje egy külön [teszt] nevű változóba átmásolva: ", teszt)
# print("PCF8574 Port beolvasva. A beolvasott port tömbje:", i2c_io_readed_array)
time.sleep(0.125)
io_interrupt_flag = GPIO.input(I2C_IO_INTERRUPT_GPIO)
print("Interrupt pin állapota - 0.125 sec-el olvasás után: ", io_interrupt_flag)
print("------")
i2c_io_readed_array_reversed = i2c_io_reverser(i2c_io_readed_array)
i2c_io_state = i2c_io_namer(i2c_io_readed_array_reversed)
i2c_io_evaluator(i2c_io_readed_array_reversed, i2c_io_state)
i2c_io_printer(i2c_io_readed_array_reversed, i2c_io_state)
A legbelső if-ben láthatóak a tesztelt "feltételeim".
Csak az utolsó két, most #-el kikommentezett print() bármelyike oldja meg a problémát (természetesen a teszt változós csak akkor ha előtte megvan az értékadása is).
Ez valami eléggé érdekes bug lesz...
Új hozzászólás Aktív témák
- MICROSOFT SURFACE PRO 7 12.3" i5-10th 8GB/256GB Notebookká alakitható Windows Tablet
- BEACN MIC Dynamic Podcast RGB USB-C - Professzionális stúdióminőségű Mikrofon - Win/Mac - Ár alatt!
- Gamer-Pc, Core i5, RTX 4060 Ti, Wi-Fi, 750W, vízhűtés
- Samsung Galaxy Tab A9+ 4/64GB
- Dell Latitude 5310 i5 10310u I 16GB I 256SSD I IPS 13,3" FHD I HDMI I W11 I jó akku
- Zebra ZP505 EPL - Hőpapíros címkenyomtató
- Azonnali készpénzes Intel i3 i5 i7 i9 8xxx 9xxx processzor felvásárlás személyesen / csomagküldés
- LG 45GS95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Bomba ár! Dell Precision M4600 - i7-QM I 8GB I 500GB I Nvidia I HDMI I 15,6" FHD I W10 I Gari!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest