hallo,

wieder einmal eine anfängerfrage...

folgende funktion funktioniert, beim empfang eines signals der IR-bake wird 000 angezeigt, wenn kein signal 004:

Code:
void read_Register_30(void)
{
    I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 0); // Start with register 0...
    I2CTWI_readBytes(I2C_RP6_BASE_ADR,RP6data, 31); // and read all 30 registers

    uint8_t i = 0;
    for(i = 0; i < 31; i++)
    {
//        mSleep(8);
        if (i == 30) IR_wert[0] = RP6data[30];
    }
}
diese aber nicht. Da kommt immer nur 000, egal ob IR-bake sendet oder nicht:

Code:
void read_Register_30(void)
{
    I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30...
    I2CTWI_readBytes(I2C_RP6_BASE_ADR,RP6data, 1); // and read one register
    IR_wert[0] = RP6data[30];
}
ich verstehe einfach nicht warum, hab doch nur die schleife rausgenommen?