Guten Abend,
hänge nun schon ein paar Tage an einem Problem fest und weiß nicht mehr weiter.
Nichtmal die Sufu und die damit gefundenen Threads konnten mir weiterhelfen :(
Hier mal mein Code:
M32
BaseCode:#include "RP6ControlLib.h"
#include "RP6I2CmasterTWI.h"
uint8_t data[2];
void I2C_transmissionError(uint8_t errorState)
{
writeString_P("I2C ERROR -->TWI STATE IS: 0x");
writeInteger(errorState, HEX);
writeChar('\n');
}
int main(void){
initRP6Control();
initLCD();
I2CTWI_initMaster(100);
I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);
while(1){
clearLCD();
I2CTWI_transmitByte(10,0);
writeString_P("transmit...."); //reine Testausgabe wo die Funktion hängen bleibt
data[0] = I2CTWI_readByte(10);
writeString_P("read...."); //reine Testausgabe wo die Funktion hängen bleibt
writeIntegerLCD(data[0],DEC);
}
return 0;
}
Die Master Funktion läuft leider nur bis nach "I2CTWI_transmitByte" danach gehts nicht weiter. :(Code:#include "RP6RobotBaseLib.h"
#include "RP6I2CslaveTWI.h"
int main(void){
initRobotBase();
I2CTWI_initSlave(10);
int8_t data = 1;
while(1){
if(I2CTWI_writeRegisters[0] && !I2CTWI_writeBusy){
I2CTWI_readRegisters[0] = data;
data++;
}
}
}
Dabei will ich eigentlich erstmal nur einen festen Wert (data) übertragen. Erst wollte ich den Wert eines Lichtsensors übertragen, da dies aber scheiterte wollte ich erstmal mit was anderem (in meinen Augen leichteren) beginnen.
Hoffe mir kann jmd helfen. :)
MfG
Ezalo