Forum: Mikrocontroller und Digitale Elektronik AVR Bascom und I2C Problem


von Norbert S. (norberts)


Lesenswert?

Hi,

ich hab hier gerade Spaß mit Bascom und I2C, wobei da noch gar kein 
Slave dran hängt.
Ein ATMega88 der auf 11,059200MHz läuft.

Das hier z.B.:
1
$lib "i2c_twi.lbx"
2
Config Twi = 400000
3
Config Scl = Portc.5
4
Config Sda = Portc.4
5
6
...
7
8
Startmag:
9
   I2cstart
10
   I2cwbyte Magwrite
11
   I2cwbyte &H00
12
   I2cwbyte Takemeas
13
   I2cstop
14
Return
dauert Ewigkeiten, als wenn er da auf einen Timeout wartet.
Wenn ich lesen will scheint sich das Ding komplett aufzuhängen.

Wenn ich den Aufruf von "Startmag" auskommentiere funktioniert der Rest.
Also das Lesen ist sowieso komplett raus.
Wie gesagt, kein Slave dran, keine Pullups am I2C bisher.
Kann das echt daran liegen? Das kann ich mir irgendwie nicht vorstellen.

Ich häkel die Hardware jetzt mal dran aber ob der Sensor funktioniert 
weiß ich ja erstmal auch nicht.

Dankbar für alle Hinweise...

Gruß,
Norbert

von holger (Gast)


Lesenswert?

>dauert Ewigkeiten, als wenn er da auf einen Timeout wartet.
>Wenn ich lesen will scheint sich das Ding komplett aufzuhängen.

Das wartet sicher auf ein Acknowledge vom Slave.
Wenn du jemanden anrufst der nicht zu Hause ist kannst du auch
warten bis du schwarz wirst.

von weinbauer (Gast)


Lesenswert?

naja ... die Pullups sollten schon dran sein, sonst floatet beim Lesen 
der SDA herum.
Beim I2C gibts auch n Acknowledge, bin mir aber gerade nicht sicher ob 
der Master oder der Slave das bringen muss.

von Michael L. (nightflyer88)


Lesenswert?

weinbauer schrieb:
> Beim I2C gibts auch n Acknowledge, bin mir aber gerade nicht sicher ob
> der Master oder der Slave das bringen muss.

Wenn der Master zum Slave schreibt, bestätigt der Slave jedes Byte mit 
ACK. Liest der Master vom Slave, so bestätigt der Master jedes 
empfangene Byte mit ACK.

von Norbert S. (norberts)


Lesenswert?

Hi,

Sensor ist jetzt dran und schon geht's.

Ein Slave auf I2C der nicht antwortet klemmt Bascom fest.

Ok, oder die fehlenden Pullups, ist mir jetzt aber auch wurscht.

Gruß,
Norbert

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.