Hallo,

ich habe folgendes Programm für die M32 geschrieben, das die Lichtsensorenwerte von der Base ausliest:

Code:
#include "RP6ControlLib.h"
#include "RP6I2CmasterTWI.h"

#define RP6_I2C_ADDR 10


void I2C_transmissionError(uint8_t errorState) 
 { 
  writeString_P("\nI2C ERROR - TWI STATE: 0x"); 
  writeInteger(errorState, HEX); 
  writeChar('\n');
  beep(200, 50);
 }


void readLightSensors(void)
 {
  uint8_t Lichtsensoren[4];
  
  I2CTWI_transmitByte(RP6_I2C_ADDR, 13);
  I2CTWI_readBytes(RP6_I2C_ADDR, Lichtsensoren, 4);
  clearLCD();
  setCursorPosLCD(0,0);
  writeIntegerLCD(Lichtsensoren[0] + (Lichtsensoren[1]<<8), DEC);
  setCursorPosLCD(1,0);
  writeIntegerLCD(Lichtsensoren[2] + (Lichtsensoren[3]<<8), DEC);
    
 }

int main(void)
 {
  initRP6Control();
  initLCD();
 
   
  //I2C-Bus initialisieren
  I2CTWI_initMaster(100);  
  I2CTWI_setTransmissionErrorHandler(I2C_transmissionError); 
  
  startStopwatch1();
 
  while(true)
   {
    if(getStopwatch1()>100)
	 {
	  readLightSensors();
	  setStopwatch1(0);
	 }
	
   }
  return 0;
 }
Am Anfang bekomme ich immer drei Fehlermeldungen im Terminal:

I2C ERROR - TWI STATE: 0x20
I2C ERROR - TWI STATE: 0x20
I2C ERROR - TWI STATE: 0x48

danach funktioniert das Programm tadellos.
Woran könnte das liegen?

lg
Michi