Stap 3: De derde machine: 1 meester (met noodstop) en 3 slaven gesynchroniseerd en I2C i/o-uitbreidingen
Ik gebruik 2 soort I2C IC:
-2 x PCF8591P: 2 x 4 analoge ingangen en 2 x1 analoge uitgangen
-2 x PCF8574P: 1 x 8 digitale ingangen en 1 x 8 digitale uitgangen geven.
De I2C-adressen zijn minimuminhoud met de tabel geleverd.
Volgens het schema vond ik de volgende adressen:
-73 minderen voor de eerste analoge uitgang (IC-PCF8591P)
-74 minderen voor de tweede analoge uitgang (IC-PCF8591P)
-59 dec voor de digitale ingangen (IC-PCF8574P)
-60 minderen voor de digitale uitgangen (IC-PCF8574P)
Nu de 3 onafhankelijke machines actioning 3 verschillende zijn registreert byte FBx, SBx en PUMPx waarop ik een XOR masker het geven van een unieke register "x", waarmee de uitgangen van de IC van de adress 60 wordt bijgewerkt.
Zie de broncode, er zijn veel reacties daarop.
WAARSCHUWING! Wanneer u de macht van de PCF8574 al de digitale uitgangen gaan snel hoge en lage: het kan uw systeem gewond. Wees voorzichtig! Om dit te bevestigen die u een aanvulling van de bytes gebruikt te sturen en een inverterende buffer achter de PCF8574. Ik zal het zo vlug mogelijk te corrigeren.