Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


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: I2C Baustein auslesen Kategorie: Programmierung Basic (von strini - 27.12.2004 20:59)
 Als Antwort auf Re: I2C Baustein auslesen von André H. - 27.12.2004 8:31
Hallo Andre

Mit der C-control V2.0 ist es kein Problem mit den I2C - Funktionen den Baustein auszulesen. Habe eine LIB zum imporieren geschrieben.

> Hallo Strini,
>
> > Ist es möglich von einem I2C Baustein ( 12 bit A/D Wandler) mit der C-Control I V2.0 ( mit dem I2C Objekt von Basic++) Daten auszulesen.
> >  Mit der alten C-Control war es mir nicht möglich (mit C3C) über den I2C - Bus einen 12 Bit Wert auszulesen.(konnte nur 8 bit auslesen )
> >
>
> Also, mit der alten CC1 V1.1 ist das sehr wohl sehr einfach möglich.
> Zumindest in Basic.
> Als keines Bsp.:
>
> define pop DA[1] 'Trick zum Auslesen des Stacks
> ...
> '----Aufrufe - Bausteine m.Byte-Addr.Reg.----------------
> 'i2caddr immer Schreibadresse !!
> 'addr = Registeradresse
> 'Byte schreiben:
> sys WrByteBReg,wert,addr,i2caddr
>
> 'Byte lesen:
> sys RdByteBReg,addr,i2caddr
> wert=pop
>
> 'Word schreiben:
> sys WrWordBReg,Wordwert,addr,i2caddr
>
> 'Word lesen:
> sys RdWordBReg,addr,i2caddr
> Wordwert=pop
> ...
> syscode "int_i2c.s19" 'nur einmal laden, dann auskommentieren
>
>
> Dies ist ein kleiner Auschnitt des I2C-Multitreibers für die CC1 V1.1 .
> (siehe CCTools unter Download: i2c_multitreiber.zip)
>
> Für Dich wäre dann sys RdWordBReg,addr,i2caddr interessant.
>
in Basic ist es natürlich kein Problem. Ich habe den Baustein bis jetzt direkt über die RS232 mit Visual Basic angesteuert. Das ist natürlich etwas langsam.

> > Hier das Protokoll des Bausteines
> >
> > S SLAVE ADDRESS W A CONTROL-BYTE A P
> > 1______7__________1_1_______8_______1_1
> > S SLAVE ADDRESS R A DATA-BYTE A DATA-BYTE A P
> > 1_______7_________1_1_____8_____1_____8____1_1
>
> Also irgendwie ist hier ein Stop zuviel.
> Normalerweise erfolgt nach dem Schreiben des internen Adressregisters
> direkt ein Repeatet-Start.
>
Das Protokoll sollte stimmen, kannst es dir aber selbst anschauen. Es ist der Baustein " MAX127/128" von Maxim.
12- Bit Resolution
+5V Single-Supply
I2C-Compatible
0 to  +10V, 0 to +5V, +-10V, +-5V
8 Analog Input Channels
8ksps Sampling Rate
+-16V Overvoltage-Tolerant input Multiplexer
24-Pin Narrow DIP

> Aber, aus Interesse, was für einen AD-Wandler benutzt Du ? (Bezeichnung?)
>
> MfG André H.
>
gruß gerhard

 Antwort schreiben

Bisherige Antworten: