also, nachdem ich die Batterien aufgeladen hab, hab ich das Programm nochmal getestet, und es lief (bis auf das Problem, dass ich die Encoder wieder mal einstellen muss) einwandfrei ! (sofern man das bei dermasen verstellten encodern sagen konnte) da ich zu faul war, den ganzen RP6 zu zerlegen, nur um die dinger einzustellen, hab ich mir gedacht, füge ich der RP6Control_I2CMasterLib.c die funktion setMotorPower hinzu. (die ist ja auf der base im slaveprogramm verfügbar, man kann sie nur nicht durch das M32 aufrufen. ich hab also in der der RP6Control_I2CMasterLib.c das hier hinzugefügt:
In der RP6Control_I2CMasterLib.h das hier:Code:void setMotorPower(uint8_t PWR_left, uint8_t PWR_right) { I2CTWI_transmit4Bytes(I2C_RP6_BASE_ADR, 0, CMD_SET_MOTOR_PWR, PWR_left, PWR_right ); while(I2CTWI_isBusy() || TWI_operation != I2CTWI_NO_OPERATION) task_I2CTWI(); }
und im slaveprog für die base hab ich natürlich in die task_commandProcessor() das hinzugefügt:Code:#define CMD_SET_MOTOR_PWR 13
und natürlich auch die definition von CMD_SET_MOTOR_PWRCode:case CMD_SET_MOTOR_PWR: setMotorPower(param1,param2); break;
aber wenn ich mein Programm nun starte, bekomme ich nur Errors raus
hat jemand ne idee was ich falsch gemacht, bzw. vergessen haben könnte ??







Zitieren


Lesezeichen