YEAH das ging schnell 
ich habe jetzt mal alle bits ausgelesen, und jetzt bekomme ich schonmal die richtigen drehimpulse geliefert =)
Code:
char buffa [4];
char buffb [4];
char buffc [4];
char buffd [4];
int dataa;
int datab;
int datac;
int datad;
/*### Drehgebertest ### */
void vor(void)
{
i2c_init();
i2c_start(0xB0); //Slave Adresse des Motortreiber 1
i2c_write(0x00); //Motor 1
i2c_write(0xFF); //vorwärts
i2c_stop();
waitms(200);
// i2c_init();
i2c_start(0xB0); //Slave Adresse des Motortreiber 1
i2c_write(0x02); //Byte 2 Drehgeber 1 Position (aus MD23 Data Sheet)
i2c_stop();
i2c_start(0xB1); //Slave Adresse Motortreiber 1 + 1 Bit für Leserichtung
dataa = i2c_read(1); //Lesen
datab = i2c_read(1);
datac = i2c_read(1);
datad = i2c_read(0);
i2c_stop();
sprintf(buffa, "%d", dataa); //in char umwandeln
sprintf(buffb, "%d", datab);
sprintf(buffc, "%d", datac);
sprintf(buffd, "%d", datad);
sendUSART("\r\n Impulse: "); //senden
sendUSART(buffa);
sendUSART(buffb);
sendUSART(buffc);
sendUSART(buffd);
waitms(200);
i2c_start(0xB0); //Motortreiber 1
i2c_write(0x00); //Motor 1
i2c_write(0x80); //anhalten
i2c_stop();
Lesezeichen