Also eigentlich nicht, wenn du mit der Taste lediglich das Programm auswählen und starten willst musst du halt eine while(1)-Schleife einbauen, bei der du abfragst, welche Taste gedrückt ist und kannst dann mit einem simplen Funktionsaufruf dein Fahrprogramm auslösen, also so:

Code:
#include "RP6RobotBaseLib.h"

void Fahrprogramm_1(); //Prototypenliste
void Fahrprogramm_2();

void Fahrprogramm_1()
{
// Set Bumpers state changed event handler: 

   BUMPERS_setStateChangedHandler(bumpersStateChanged); 



   powerON(); // Turn on Encoders, Current sensing, ACS and Power LED. 

   setACSPwrMed(); 

    

   // Main loop 

   while(true) 

   {       
       
      //task_RP6System(); 
     //radar(); 
      akku(); 
      task_ADC(); 
      task_ACS(); 
      task_Bumpers(); 
      task_motionControl(); 
      //radar(); 

      behaviourController(); 

   } 
}

void Fahrprogramm_2()
{
//halt dein 2. Fahrprogramm oder auch nix
}


int main(void) 

{ 

initRobotBase();

while(1)
{
switch(rc5data.key_code) 
   { 
      case RC5_KEY_PROG1:  Fahrprogramm_1(); break; 
      case RC5_KEY_PROG2:  Fahrprogramm_2(); break;
    //case <weitere Tasten>: Fahrprogramm_x(); break;

}
}

MfG Pr0gm4n