PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C lesen



Max12345
22.08.2010, 19:10
Hallo,

ich verwende das RN-Motor Board. Und ich möchte die Schrittanzahl auslesen. Im Datenblatt ist dazu folgender Code gegeben:


I2cstart
I2cwbyte &H57
I2crbyte Temp , Ack
Schritte = Temp
I2crbyte Temp , Ack
Ltemp = Temp * 256
Schritte = Schritte + Ltemp
I2crbyte Temp , Ack
Ltemp = Temp * 65536
Schritte = Schritte + Ltemp
I2crbyte Temp , Nack
Ltemp = Temp * 16777216
Schritte = Schritte + Ltemp
I2cstop
Print "Schrittanzahl:" ; Schritte

Ich verwende jedoch C zum Programmieren, und kenne mich mit Bascom nicht aus. Ein Kompassmodul lese ich z.B. so aus:


i2c_start_wait(0xC0+I2C_WRITE);
i2c_write(0x02);
i2c_rep_start(0xC0+I2C_READ);
high = i2c_readNak();
i2c_stop();

Wie könnte ich das jetzt auf mein C Programm übertragen? Muss ich das auslesen gar nicht anfordern? Oder macht das Bascom implizit? Es wäre nett, wenn mir den Code jemand interpretieren kann also Flussdiagramm o.Ä, also was da wann gesendet werden muss.

Kampi
23.08.2010, 06:36
Hast du dir mal die Doku dazu angeschaut? Die ist eigentlich sehr verständlich. Ansonsten kannst du die Werte alle direkt übernehmen. Du musst nur das I2CRead und das I2CWrite an dein C-Programm anpassen.