I2C Bus Scan

Mit dem I2C-Modem ist es relativ einfach einen Bus Scan durchzuführen und so den I2C-Bus nach Teilnehmern mit unbekannten Slaveadressen zu durchsuchen.

Ich habe einfach eine FOR NEXT Schleife programmiert in der alle Adressen von 1 – 255 nacheinander abgefragt werden.

Antwortet ein I2C-Slave wird die Adresse in ein Textfeld eingetragen. Am Ende sieht man welche Teilnehmer sich am Bus befinden.

Wenn man von einem I2C-Slave die Adresse nicht kennt kann diese mit dem Makro herausgefunden werden.

 


Private Sub Command_SCAN_Click()

Dim ScanAdresse, A, I

TextBox_SCAN = „“

For ScanAdresse = 1 To 255

   SENDBYTE (128)           ‚Befehl 128 = Multiread + (Anzahl Bytes -1)  
   SENDBYTE (ScanAdresse)   ‚Bus-Adresse des CON-TEMOD-I2C Moduls schreiben

   A = READBYTE             ‚Status vom Modem abfragen

   If A = 192 Then
           TextBox_SCAN = TextBox_SCAN & ScanAdresse & vbCrLf
   End If

   ‚Lesepuffer leeren
   Do: A = READBYTE : Loop Until A = -1

Next

End Sub


 

 

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.