I2C Bus Übertragungsprobleme

Gast #705180
Lesenswert?

Hallo,

Ich lese mit einem Atmega2561 einen LM75 (I2C Bus Temperatur Chip). 
Prorammiersprache ist Bascom. Nun habe ich folgendes Problem... I2C Bus 
ist korrekt verdrahtet, aber beim auslesen bekomm ich nur einsen raus. 
Sprich, wenn ich die 2 Bytes auslese bekomme ich nur &HFF &HFF...

Nun kommt das richtig misteriöse... Fasse ich mit einem Finger auf die 
blanke SDA, oder SCL Leitung, liest der Controller richtige Werte aus. 
Geh ich runter mit dem Finger kommen nur einsen...

Dachte erst es liegt an vielleicht zu groß dimensionierten Pull-Up 
Widerstand mit 10K, also hab ich den gegen nen 5K ausgetauscht, dannach 
gegen nen 2K... immer das selbe Problem... Fass ich die SDA oder SCL an, 
kommen richtige Werte, sonst nicht. WARUM???

Irgendwelche Ideen???

Einen wackler kann ich ausschließen. Kabellänge zwischen Controller und 
Chip schon mit 10cm und 20cm probiert. Pull-Up's schon mit 10K, 5K, 2K 
probiert. Wie man bei Bascom die auslesegeschwindigkeit ändert weiß ich 
leider nicht, sonst hätt ich das auch schon probiert...

Ich brauche ideen... <<<<  ;-)

Gruss Andrew
Gast #705382
Lesenswert?

1
Config Sda = Porta.0
2
Config Scl = Porta.1
3
...
4
Ddra = &B00000011                                           
5
Porta = &B11111100
6
...
7
do
8
I2creceive &B10011111 , Msb , 0 , 1
9
I2creceive &B10011111 , Lsb , 0 , 1
10

11
Xx = Str(lsb)
12
Call Lcd_print(xx , 4 , 156 , 1 , 1 , 1 , Blue , White)
13
...
14
loop

^^ so in etwa sieht der code aus... Blockschaltbild, hab ich grad keins 
zur Hand, ist aber recht simpler aufbau, ATmega hängt an Spannung, LM75 
hängt am der selben 5V Netzteil, LM75 hängt mit sda/scl am PortA.0 
/PortA.1. Die Pull-up's hängen direkt am LM75 zwischen Vcc - Sda/SCL. 
Versorgungsspannung mit 5V übernimmt ein PC-Netzteil.

Masseproblem, würde ich ausschließen, da beide an der selben 
Spannungsquelle hängen...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren