Wahrscheinlich daran, dass aus 2 zusammengefügten Programmen nicht automatisch ein funktionsfähiges neues Programm wird.Wo liegt denn der Fehler?![]()
Ich habe es nicht probiert, aber vielleicht wäre dies hier ein Anfang:
Du nimmst dir die RP6Base_I2CSlave.c und fügst in die Hauptschleife ein:
Die Funktion task_TVRemote() fügst du über der Main ein:Code:task_TVRemote(); // New TV Remote task!
So, wie es ist, wird der RC5-Code nur auf dem Terminal angezeigt. Du kannst aber auch Fahrbefehle (Vorwärts, Stop, Rückwärts) geben.Code:/*****************************************************************************/ // Task TV Remote /** * This is a simple TV Remote task. */ #define RC5_KEY_FORWARDS 2 #define RC5_KEY_BACKWARDS 8 #define RC5_KEY_STOP 5 void task_TVRemote(void) { if (lastRC5Reception.key_code) { writeString_P("Key Code: "); writeInteger(lastRC5Reception.key_code, DEC); writeString_P("\n"); /* switch(lastRC5Reception.key_code) { case RC5_KEY_FORWARDS: // Drive forwards: changeDirection(FWD); moveAtSpeed(80, 80); break; case RC5_KEY_BACKWARDS: // Drive backwards: changeDirection(BWD); moveAtSpeed(80, 80); break; case RC5_KEY_STOP: // Stop: // changeDirection(FWD); moveAtSpeed(0, 0); // stop moving! } */ lastRC5Reception.key_code = 0; } }
Auf der ControlM32 kann dabei z.B. Example_08_I2CMaster laufen. Wenn du das UART-Kabel auf die M32 umsteckst, wird der RC5-Code auch am Terminal gezeigt.
Wie gesagt: Nicht getestet ... und sicher auch nicht optimal in das Ausgangsprogramm integriert ...![]()
Gruß Dirk







Zitieren

Lesezeichen