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







Zitieren

Lesezeichen