Forum: Mikrocontroller und Digitale Elektronik Wo ist der Fehler?


von M. T. (cube7)


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
}

von hp-freund (Gast)


Lesenswert?

Das hatten wir doch gerade erst:
Beitrag "Building Problem"

von M. T. (cube7)


Lesenswert?

Hallo,
das Problem mit dem Builden ist gelöst, das Ding wird ohne Probleme 
überspielt, aber es funkt nicht....
Grüße,
C.

von Torsten K. (ago)


Lesenswert?

M. T. schrieb:
> DDRD  = 0xff;                             //Wenn Daten empfangen werden LED 1 
an, LED an Port B und GND

Du sprichst von Port B beschreibst aber Port D?

von M. T. (cube7)


Lesenswert?

Hallo,
Soll Port D sein, der Kommentar ist falsch.
Sonst jemand ne Idee woran es liegen könnte?

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
Noch kein Account? Hier anmelden.