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 

 Re: OPEN MICRO I2C MAX520 Kategorie: C-Control I V1.1 (von André H. - 18.11.2005 16:00)
 Als Antwort auf OPEN MICRO I2C MAX520 von Matthias Becker - 15.11.2005 18:14
Hallo Matthias,

> Hallo Herr Harlos, ...

In diesem, wie auch allen Foren zu den C-Controls gilt allgemein das "Du".
So förmlich muß es nicht zugehen.


> Ich möchte mit der Open-Micro über den I2C Bus einen Max520 mit Adresse 80
> ansteuern. Die Ausgänge des Max520 werden in Abhängigkeit der Eingangssignale
> der Open-Micro gesteuert.
> ...
> Ich möchte Sie fragen ob das überhabt geht und ob Sie eine Routine für den I2C
> Bus in Maschinensprache haben.

Getestete Beispielroutinen zur OM für den MAX520 findest Du bei CCTools in der Detailansicht
des Bauteils MAX520, sowie des I2C-DA4 HS.
http://cctools.hs-control.de/ext_index.php?artikel=1510
http://cctools.hs-control.de/ext_index.php?artikel=1844
Diese basieren auf dem I²C-Assembler-Treiber von Dietmar.

define SCL PORT[5] ' Pull-Up mit je 10k empfohlen,
define SDA PORT[6] ' wenn die Busleitungen etwas länger gezogen werden (>1m)

define led port[4]
define i byte[1] 'temporäres Byte
define x byte[2] 'temporäres Byte
define j byte[3] 'temporäres Byte

define wert byte[4]
define data byte[5]
define max520_addr &h50

gosub i2c_init ' "Initialisierung" des I²C-Busses

max520_init(max520_addr)

data=1
#loop

 MAX520_set(max520_addr,0,wert) ' DA-Ausgang 0 setzen
 MAX520_set(max520_addr,1,wert) ' DA-Ausgang 1 setzen
 MAX520_set(max520_addr,2,wert) ' DA-Ausgang 2 setzen
 MAX520_set(max520_addr,3,wert) ' DA-Ausgang 3 setzen

 'Ausgabe des DA-Werts über Terminal:
 put 12
 print wert;
 if wert=255 and data=1 then data=255 '^=step -1
 if wert=0 and data=255 then data=1
 wert=wert+data
 pause 10

goto loop




'---------------------------------------
' MAX520-Routinein
'---------------------------------------

#MAX520_init '(addr)
 pop i
 i2c_start
 i2c_write i
 i2c_write &h10
 i2c_stop
return

#MAX520_pwrDown '(addr)
 pop i
 i2c_start
 i2c_write i
 i2c_write &h08
 i2c_stop
return

#MAX520_set '(addr, port, value)
 pop j : REMOVETOS
 pop x : REMOVETOS
 pop i
 i2c_start
 i2c_write(i)
 i2c_write(x)
 i2c_write(j)
 i2c_stop
return


'---------------------------------------
' Einbinden der I²C-Bus-Routinen
'---------------------------------------
include "om_i2c.bas"


MfG André H.

 Antwort schreiben

Bisherige Antworten:

Re: OPEN MICRO I2C MAX520 (von Matthias Becker - 18.11.2005 21:17)
    Re: OPEN MICRO I2C MAX520 (von Matthias Becker - 20.11.2005 15:59)
        Re: OPEN MICRO I2C MAX520 (von Jens - 20.11.2005 21:51)