In den I2CTWI_transmit Funktionen in der Lib - direkt bevor TWCR gesetzt wird - muss das auf 1 gesetzt werden.
In den anderen Funktionen könnte man es auch setzten - geht aber glaub ich auch ohne.
no_rep sollte übrigens ein uint_8t sein.
In der task_I2CTWI sollte dann in der if(TWI_operation)
no_rep auf 1 gesetzt werden....
Im einfachsten fall einfach immer ohne unterscheidung welcher Zustand.
readRegisters kannst Du dann übrigens nicht dafür verwenden - das müsste auch noch passend modifiziert werden mit zusätzlichem Zustand in der task_I2CTWI... aber egal. Probier erstmal das.
I2CTWI_transmitByteREPEATED_START(0x00,0x07); <<<---- Deine Eigene Funktion
I2CTWI_readBytes(0x00, sensorBuf, 3);
müsste dann aber klappen.
MfG,
SlyD
Lesezeichen