Hallo...
Ich verstehe die Frage nicht so ganz.
Damit dein Interface mit dem RP6 interagiert, musst du doch das RP6-Slave Programm auf dem RP6 laufen haben, was wiederum im Quellcode des RP6 vorliegt? Da kannst du doch die Register und Bedeutungen alle einsehen?
Wie die Register zu ihren Werten kommen steht in der Funktion void task_updateRegisters(void)Code:#define I2C_REG_STATUS1 0 #define I2C_REG_STATUS2 1 #define I2C_REG_MOTION_STATUS 2 #define I2C_REG_POWER_LEFT 3 #define I2C_REG_POWER_RIGHT 4 #define I2C_REG_SPEED_LEFT 5 #define I2C_REG_SPEED_RIGHT 6 #define I2C_REG_DES_SPEED_LEFT 7 #define I2C_REG_DES_SPEED_RIGHT 8 #define I2C_REG_DIST_LEFT_L 9 #define I2C_REG_DIST_LEFT_H 10 #define I2C_REG_DIST_RIGHT_L 11 #define I2C_REG_DIST_RIGHT_H 12 #define I2C_REG_ADC_LSL_L 13 #define I2C_REG_ADC_LSL_H 14 #define I2C_REG_ADC_LSR_L 15 #define I2C_REG_ADC_LSR_H 16 #define I2C_REG_ADC_MOTOR_CURL_L 17 #define I2C_REG_ADC_MOTOR_CURL_H 18 #define I2C_REG_ADC_MOTOR_CURR_L 19 #define I2C_REG_ADC_MOTOR_CURR_H 20 #define I2C_REG_ADC_UBAT_L 21 #define I2C_REG_ADC_UBAT_H 22 #define I2C_REG_ADC_ADC0_L 23 #define I2C_REG_ADC_ADC0_H 24 #define I2C_REG_ADC_ADC1_L 25 #define I2C_REG_ADC_ADC1_H 26 #define I2C_REG_RC5_ADR 27 #define I2C_REG_RC5_DATA 28 #define I2C_REG_LEDS 29
und deren Definitionen / Aufbau finden sich in der RP6Lib. Wo ist das Problem?
Gruß Rolf
Lesezeichen