OK ich poste nochmal den abgeänderten Code. Habe versucht das was von mir ist zu kommentieren.
Ich hab jetzt ausserdem mal alles unötige weggelassen, weil der LM75 ja im Templesemodus startet müsste ja eigentlich Leseadresse Senden + 2x Lesen ausreichen. Ich hab mir auch schon mehrere andere Codes die nicht für die C-Control sind angesehen, aber leider werde ich daraus auch nicht schlauer. Ich bekomme als Ausgabe einfach wild wechselde Zahlen![]()
Code:DEFINE Daten byte define Zaehler byte define N byte define i byte define Mask byte define SDA port[15] define SCL port[16] SDA = OFF SCL = OFF gosub I2C_stop #schleife gosub I2C_start Daten = 145 'Adresse(zum Lesen) schreiben gosub I2C_schreiben gosub I2C_lesen 'MSB Lesen gosub acknowlege print Daten; 'MSB Ausgeben Print "-"; '"MSB-LSB" (nur zum testen) gosub I2C_lesen 'LSB lesen gosub NoAcknoledgement print Daten; 'LSB ausgeben (schon klar das die Ausgabe print 'von LSB nicht richtig ist aber ich teste ja nur) gosub I2C_stop pause 200 GoTo schleife #I2C_start SDA = OFF SCL = OFF Return #I2C_stop SDA = OFF SCL = ON SDA = ON Return #I2C_schreiben Mask = &H80 #OUTSHIFT SDA=(Daten and Mask) SCL = ON SCL = OFF Mask = Mask shr 1 if Mask <> 0 then goto OUTSHIFT '---- 9. Takt für ACKN ------------------- deact SDA SCL = ON SCL = OFF i = not SDA 'ackn? SDA= OFF Return #I2C_lesen deact SDA Daten = 0 Mask = &H80 #INSHIFT SCL = ON if SDA = ON then Daten = (Daten or Mask) SCL = OFF Mask = Mask shr 1 if Mask <> 0 then goto INSHIFT Return #acknowlege SDA = OFF TOG SCL TOG SCL Return #NoAcknoledgement SDA = ON TOG SCL TOG SCL Return END







Zitieren

Lesezeichen