Hallo, Ich habe ein Problem beim Programmieren mit dem I2C und einem Temperatursensor LM75. Ich nutze die I2C Libary von P. Fleury. Nutze winAvr. Hier ein auszug aus meinem Programm: Assembler file mit eingebunden im Makefile ASRC = i2cmaster.S c file: #include <i2cmaster.h> #define LM75 0 //Adresse 0b0000 Adresspins auf gnd i2c_init(); //I2CBus ret=i2c_start(LM75+I2C_READ); //Sollte als Returnwert eine 0 liefern sprintf(buf,"Erreichbar? %d",ret); lcd_gotoxy(0,0); lcd_puts(buf); Leider bekomme ich ständig eine 1!? Sensor nicht verfügbar und somit kann ich mir den Rest des Programmes auch sparen. :-( beide files sind von Peter Fleury: Stand :2003/10/16 18:14:26 peter Exp $ Habe den Sensor LM75 mal mit dem Codvision Avr ausprobiert, da funktioniert er. Ich denke, dass ich irgendwo ein Programm Fehler habe. vielleicht kann mir jemand weiter helfen. Vielen Dank im vorraus die amme
Nachtrag: Habe gerade durch die Suche im Forum eine Ideee bekommen. meine Adresse habe ich nun von 0 auf 0x90 (0b1001 0000) geändert. Jetzt ist mein Sensor erreichbar. Hat jemand eine Erklärung dafür? Verstehe nicht ganz warum die 1001 davor muss. Gruß die amme
Hi, bei i2c bausteinen wird die adresse immer von 3 dingen bestimmt: von einer fest durch das bauteil festgelegten adresse, von den adress pins und von dem read/write pin. die 1001 ist demnach die feste adresse deines LM75 Gruß Tobias
Ach so, vielen Dank Tobias. :-) Jetzt läuft das Programm und der Sensor funktioniert. Gruß die amme
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.