PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I²C BUS



Zapo.
08.02.2007, 17:35
hi,

habe mal eine allgemeine Frage zum I²C BUS.

hat es einen Nachteil wenn man in BASCOM "i2cstart" auslöst aber dann nicht mehr mit "i2cstop" anhält?

ich meine, warum sollte man das machen bzw. nicht tun?
Speicher? unsaubere Programmierung? Störungen?

das selbe gilt auch für den ADC... "start adc; stop adc"

Zapo.

Jon
08.02.2007, 17:51
Wenn du das Gerät wechsel willst, dann musst du erst einmal i2cstop machen und dann wieder i2cstart.
Das ist hier (http://www.qsl.net/pa3ckr/bascom%20and%20avr/i2c/index.html) sehr schön erklärt.

jon

linux_80
08.02.2007, 18:03
Hallo,

Bascom stört das nicht, braucht auch keinen Speicher,
aber solange kein Stop kommt, ist der Bus belegt.
Wenn man nur einen Master und einen Slave hat, könnte man das auch wohl so machen.

Ist wie: Einmal anrufen, und nicht mehr auflegen.

Aber !
Warum willst Du das weglassen, die paar Bytes die da gespart werden für den i2cstop-Befehl ?

Im Wiki gibts auch was zu I2C.

PicNick
08.02.2007, 18:09
Solange du der einzige Master bist, wäre ein I2CStop im Grunde nicht notwendig.
Aaaaaaber:
I2C Geräte wissen erst, dass die Eingabe zu ende ist beim "Stop" oder beim nächsten start. (Ausser, sie kriegen immer eine bestimmte Anzahl Byte, dann ist ihnen das wieder egal --> z.B. Portexpander)
Kurz und gut: Kommt drauf an, was am Bus hängt.
Aber grundsätzlich sollte man einen Bus immer freigeben, wenn man grad nix sendet. (Ist eine Kultursache, so wie "nicht-in-der-nase-bohren")

Der ADC brauch (glaub ich) relativ viel Strom. Daher ist es gut, ihn abzudrehen, wenn man ihn (länger) nicht braucht.
Bei Netzbetrieb ist das aber auch wieder egal.

Zapo.
08.02.2007, 18:15
danke für die schnellen Antworten!

werd mir mal die links reinziehen....

Zapo.