Home    Impressum / Datenschutz    Shop    Download    Links     Blog  

Programmierbeispiel für den 4-Cannel I2C-Switch PCA9545A

I2C-Slaves mit unterschiedlichen Spannungen an einem Master betreiben

Hier ein Programm-Ausschnitt wie der Switch mit dem I2C-USB-Modem angesprochen werden kann. Das Excel-Makro funktioniert auch mit dem neuen I2C-RS232-Modem 2.

Mit vier Checkboxen  können die Kanäle vorgewählt werden die auf den Master durchgeschaltet werden sollen. Das INT-Signal wird auf den Eingang durchgereicht. Welcher Kanal den INT ausgelöst hat kann über das Register ausgelesen werden.


Private Sub Command_REGISTER_SCHREIBEN_Click()
'Der Befehl I2C-Data 33 hex = 51 dez.
'liest oder schreibt bis zu 128 Bytes vom I2C-Slave
 
Dim Adr, Wert
Adr = Combo_Mux_Adresse.Text 'Bus-Adresse des PCA 9545
 
Wert = 0
If CheckBox_CH0.Value = True Then Wert = Wert + 1
If CheckBox_CH1.Value = True Then Wert = Wert + 2
If CheckBox_CH2.Value = True Then Wert = Wert + 4
If CheckBox_CH3.Value = True Then Wert = Wert + 8
 
MsgBox (Wert)
 
 
SENDBYTE (51)   'Befehl 51 = Daten senden
SENDBYTE (3)    'Frame Anzahl = 3
SENDBYTE (Adr)  'Bus-Adresse
SENDBYTE (0)    'Adresse MSB
SENDBYTE (Wert) 'Registerwert einstellen
SENDBYTE (4)    'Endekennung
 
If Modem_Antwort = False Then
    MsgBox ("Fehler bei I2C-SWITCH")
End If
 
End Sub

Private Sub Command_REGISTER_LESEN_Click()
'Der Befehl I2C-Data 33 hex = 51 dez.
'liest oder schreibt bis zu 128 Bytes vom I2C-Slave
Dim Adr, R, Rbin
 
Adr = Combo_Mux_Adresse.Text + 1 'Bus-Adresse des PCA 9545
 
SENDBYTE (51)      'Befehl 51 = I2C-DATA
SENDBYTE (3)       'Frame Anzahl = 3
SENDBYTE (Adr)     'Bus-Adresse
SENDBYTE (0)       'Adresse MSB
SENDBYTE (1)       '1 Byte lesen
SENDBYTE (4)       'Endekennung
 
If Modem_Antwort = True Then
    R = D(1)                                  'Register vom PCA lesen
    Rbin = Right$("00000000" & Dec2Bin(R), 8) 'nach binär wandeln
    TextBox_Register.Text = Rbin              'Wert in Textbox eintragen
Else
    MsgBox ("Fehler bei Register lesen")
End If
 
End Sub


Testprogramm für I2C-Switch PCA9545

Beispiele als Excel Makro
I2C-USB+M2-Switch-Test.zip (133 kB)
Excel-Makro
mit einem Beispiel zur Ansteuerung der Kanalauswahl des I2C-Switch PCA9545A für das I2C-USB-Modem oder das I2C-RS232-Modem 2
vba-makros.pdf (528 kB)
Bei den Makros kann es je nach Sicherheitseinstellungen zu Fehlermeldungen kommen. Eine Anleitung wie Sie die Makros ausführen können finden Sie in diesem Dokument



Bausätze können Sie günstig in unserem Onlineshop in der Rubrik
"I2C-Komponenten" bestellen.