Hallo WarChild,
ich habe den SRF02 nicht und kann das nicht testen:
Code:
// Includes:
#include "RP6RobotBaseLib.h"
#include "RP6I2CmasterTWI.h"
#define SRF02 0xE0
uint8_t srfbuffer[2];
uint16_t distance;
// Main:
int main(void)
{
initRobotBase();
setLEDs(0b111111);
mSleep(1000);
setLEDs(0b100100);
I2CTWI_initMaster(100);
// Main loop
while(true)
{
task_RP6System();
I2CTWI_transmit2Bytes(SRF02, 0, 81);
mSleep(65);
I2CTWI_transmitByte(SRF02, 2);
I2CTWI_readBytes(SRF02, srfbuffer, 2);
distance = (srfbuffer[0] << 8) + srfbuffer[1];
writeString_P("\n distance:");
writeInteger(distance,DEC);
mSleep(500);
}
return 0;
}
Vielleicht klappt's ja etwa so!
Gruß Dirk
Lesezeichen