pár lidí si tady hraje s MCU a I2C periferiemi, snad budou vědět.
Na webu jsem odpověď nenašel - anglicky čtu v pohodě - kdyby někdo namítal, že mám hledat tam.
Mám na sběrnici I2C (master je PICAXE) zavěšena 4 zařízení (viz scan nize), všechna fungují jak mají (hodiny vrací čas, případně ho můžu měnit, expandery čtou všech 16 tlačítek, EEPROM zapisuje i čte).
Komunikace I2C je na 100 kHz.
Tohle je vypis ze scanneru I2C (hexa adresy)
Device found at 42 = Expander PCF8574
Device found at 44 = Expander PCF8574
Device found at AE = EEPROM 24LCxxx
Device found at D0 = RTC (Maxim)
Pokud k nim přidám PCA9685 (16-channel, 12-bit PWM Fm+ I2C-bus LED controller), dál jako PWMgen, není vidět ani ve scanneru ani ve skutečné aplikaci.
Původně jsem myslel, že kvůli délce jeho I2C připojovacího kabelu (cca 60 cm).
Zkrátil jsem na cca 15 cm, nezabralo. Ostatní kabely mezi I2C zařízeními jsou tak 10 cm max.
Všechno plochý kabel - žádné zkroucené dvojice a ani vložený GND mezi datové vodiče.
Až když jsem začal postupně vypojovat z I2C jiná zařízení, PWMgen byl najednou vidět (na správné adrese 80) jak ve scanneru, tak fungovat v aplikaci - zatím testuji přes svit LED změnu PWM na jednotlivých portech.
PWMgen je fyzicky vždy až "konci" sběrnice - důvod je jen ten, že jeho oba I2C piny jsou 6-kolíkové a všechna ostatní zařízení mají jen 4-piny.
A zatím jsem nevyrobil druhý kabel 4/6 pin

Scan po odpojeni prvniho expanderu
Device found at 44 = Expander PCF8574
Device found at 80 = PWM generator PCA9685
Device found at AE = EEPROM 24LCxxx
Device found at D0 = RTC (Maxim)
Scan po odpojeni druheho expanderu
Device found at 42 = Expander PCF8574
Device found at 80 = PWM generator PCA9685
Device found at AE = EEPROM 24LCxxx
Device found at D0 = RTC (Maxim)
Scan po odpojeni obou expanderu
Device found at 80 = PWM generator PCA9685
Device found at AE = EEPROM 24LCxxx
Device found at D0 = RTC (Maxim)
Přijde mi to, že pokud je PWMgen jako 5. přidaný, není detekován, resp. nekomunikuje.
Fyzicky je porad ten samy HW, jen do nej stridave nahravam scaner/puvodni aplikaci/novou aplikaci pro pouziti PWMgen a pripadne adekvatne pripojuji/odpojuji I2C kabliky.
Nemá s tím někdo zkušenost, kde může být zakopaný pes?
Tedy kromě toho zatím netestovaného, že PWMgen je pořád až na "fyzickém konci" I2C sběrnice.
Díky za případné náměty, či přímo řešení záhady
