Hallo Zusammen,
bin gerade dabei den ITG3200 mit dem STK600 auf PortD (TWI Port) zu
verbinden dafür benutze ich die Fleury Libary.
Leider bekomme ich es nicht hin eine Datenverbindung herzustellen, ich
bekomm beim i2c_start immer ein NAK.
Pullup wiederstände sind eingebaut, als Device addresse nutze ich 0x69
der Stecker den ich gebaut habe um den Gyro anzuschliessen funktioniert
an einem Arduino problemlos, es muss also irgendwas an der Software
nicht stimmen.
Würde mich freuen wenn mir da jemand weiterhelfen kann.
Grüße
Fabian
#include <avr/io.h>
#include "i2cmaster.h"
#define DevITG3200 0x69 // device address of DevITG3200
int main(void)
{
unsigned char val, ret;
int addr;
DDRB = 0xFF; // use all pins on port B for output
PORTB = 0xFF; // (active low LED's )
i2c_init(); // init I2C interface
/* write 0x75 to eeprom address 0x69 (Byte Write) */
i2c_start_wait(DevITG3200+I2C_WRITE); // set device address and
write mode
if ( ret ) {
/* failed to issue start condition, possibly no device found */
i2c_stop();
PORTB=0x55;
}
ok habs hinbekommen... es lag daran das der ITG wohl eine 7bit addresse erwartet.. die library ihm aber eine 8-bit geschickt hat. 0x69 = 1101001 erwartet war: 11010010 bekommen hat er: 01101001 musste die addresse um eine bitstelle nach links shiften dann geht .. NACK ret = i2c_start(DevITG3200 + I2C_READ); ACK ret = i2c_start((DevITG3200 <<1) + I2C_READ); Endlich gehts!
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.