Wo ist der Fehler?

OP #1927971
Lesenswert?

Hi,
ich wollte meine 1. TWI Verbindung aufbauen und mittels  einer LED 
kontrollieren, ob sie funktioniert (Daten empfangen werden).
Die LED bleibt aber aus.
Kann mir jemand helfen?
Grüße,
M.
1
#include <stdint.h>
2
#include <C:\Users\seraphim\Documents\i2cmaster.h>    //Anpassen!
3
#include <avr/io.h>
4

5
#define ISL29010 0x88 //Addresse des Sensors Ground-Adresse
6

7
int main(void)
8
{
9
unsigned char ret;  //Variable fürs Messbyte, vllt. floating Variable besser
10
i2c_init();                         //Initialisiere I2C
11
i2c_start_wait(ISL29010+I2C_WRITE); //Mit Polling auf den Sensor warten
12
i2c_write(0x04);                     //Adresse des Daten-Registers schreiben
13
i2c_rep_start(0x88+I2C_READ);        //Datenregister des Sensors ansprechen
14
ret = i2c_readAck();                      //Datenregister des Sensors auslesen
15
i2c_stop(); 
16
         
17
if(ret != 0){
18
DDRD  = 0xff;                             //Wenn Daten empfangen werden LED 1 an, LED an Port B und GND
19
PORTD = (1<<PB6);                              //Pull-Up Widerstände
20
}
21
/*else{                                      //Wenn keine Daten empfangen werden LED 2 an, LED an Port D und GND
22
DDRD  = 0xff;                             
23
PORTD = 0xff;                               //Pull-Up Widerstände                            
24
}
25
*/
26
while(1) { }
27
for(;;);
28
}

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