Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Demoprogramm: Scan vom I²C-Bus - Finden aller am Bus angeschlossenen Devices Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 6.05.2021 18:18)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
' ============================================================================
' Demoprogramm: Scan vom I²C-Bus - Finden aller am Bus angeschlossenen Devices
' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 01. Mai 2021
' ============================================================================

' Dieses Programm liefert das Acknowledge-Signal des I²C-Devices nach dem
' Senden der I²C-Adresse zurück. Das sich auf der Open-Maxi befindliche
' I²C-EEPROM für die Datendatei meldet bei den Adressen $a6 und $a7 ein
' Acknowledge-Signal zurück.

' Wenn bei jeder Adresse ON (gleich -1) zurück geliefert wird, besteht ein
' Kurzschluß SDA nach Masse. Bei alles OFF (gleich 0), ist das ein Hinweis
' für eine Unterbrechung, einen Kurzschluß von SCL oder SDA hat Kurzschluß
' nach Betriebsspannung. Natürlich besteht auch die Möglichkeit, daß kein
' Device vorhanden ist oder kein Acknowledge sendet.

' An dieser Stelle möchte ich mich bei Dirk von "das |_ Team" und bei
' Norbert für ihre Unterstützung bedanken.

' --- Definitionen ----------------------------------------------------------

INCLUDE "omax.def"  'Definitionen für die Open-Maxi

DEFINE a,b BYTE     'temporäre Variablen

' --- Hauptprogramm ---------------------------------------------------------

PrintSpc=ON         'SPACE vor einem dezimalen PRINT
End2Host=ON         'Bei Programmende gleich in den Host-Modus wechseln

' I2C-Bus initialisieren

i2c_init

' I2C-Bus-Scan

FOR a=&h00 TO &hff
  i2c_init          'manchmal gibt das Device den Bus nicht frei -> INIT

  i2c_start

  PrintHex=ON
  PUT ASC("$")
  PRINT a;
  PrintHex=OFF
  ? i2c_write(a)    'Acknowledge ist -1 (ON) oder 0 (OFF)

  i2c_stop
NEXT a

' Programmende

END                 'Zurück in den Hostmodus. Neustart mit RETURN-Taste.

' --- INCLUDE-Dateien -------------------------------------------------------

INCLUDE "omax_i2c.pro" 'INCLUDE-Datei für I²C-Bus-Routinen für Open-Maxi
INCLUDE "om_fw.pro"    'INCLUDE-Datei für Firmwareroutinen

' --- Programmende ---------------------------------------------------------


Passender Link: Bedienungsanleitung zur Open-Macro und Open-Maxi

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: Demoprogramm: Scan vom I²C-Bus - Finden aller am Bus angeschlossenen Devices (von Joachim - 7.05.2021 23:25)