Hallo zusammen, ich probiere seit 2 Tagen das Temperaturregister meines NXP SE95 (I2C) auszulesen. Leider ohne Erfolg, darum bin ich mir nicht mehr sicher ob es nicht doch evtl. an der Hardware liegt. Ich nutze die TWI bib von Peter Fleury. Unten folgt einer meiner Versuche das Temp. reg auszulesen. Evtl. findet ja jemand Fehler. Im übrigen sollte der LM75 und SE95 gleich ausgelesen werden können. Ich bekomme immer nur 2x "0" angezeigt und die LED an PORTB 1 blinkt auch nicht. Wenn ich die Adresse des Slave ändere zeigt er gar nichts an also gehe ich davon aus das diese stimmt. Angeschlossen habe ich das ganze genau wie im Datenblatt des SE95 beschrieben mit zwei 10kOhm pull ups. Danke für eure Hilfe. Der MC ist ein ATmega8. #include <stdio.h> #include <avr/interrupt.h> #include "General.h" #include "RS232.h" #include "Delay.h" #include "TWI_Master.h" #include <util/delay.h> #include "lcd-routines.h" #define SE95 0x49 int main (void) { DDRB = 0b00000010; PORTB = 0b00000000; uint8_t PUFFER[10]; uint8_t TEXT; uint8_t TEXT2; uint8_t ret; lcd_init(); lcd_setcursor(0,1); lcd_clear(); while(1) { TWIM_Init (100000); TWIM_Stop(); Delay_ms (1000); TEXT = 0; TEXT2 = 0; ret = 0; ret = TWIM_Start(SE95,TWIM_WRITE); // set device address and write mode if ( ret ) { /* failed to issue start condition, possibly no device found */ TWIM_Stop(); lcd_setcursor(1,2); lcd_string("Fehler"); } else { /* issuing start condition ok, device accessible */ TWIM_Write(0x00); // write Pointer address = 0 TWIM_Start(SE95, TWIM_READ); // set device address and read mode TEXT = TWIM_ReadAck(); // read Hi byte TEXT2 = TWIM_ReadNack(); // read Low byte TWIM_Stop(); PORTB = 0b00000000; } lcd_clear(); itoa( TEXT,PUFFER,10); lcd_setcursor(5,1); lcd_string(PUFFER); itoa( TEXT2,PUFFER,10); lcd_setcursor(5,2); lcd_string(PUFFER); Delay_ms (1000); PORTB = 0b00000010;
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.