Ich reagiere auf Code der Fernbedienung. Das funktioniert auch gut.

Wenn ich mit
Code:
uint8_t getTaste(void)
{
    uint8_t FB_TASTE = 0;
    
    irco_update();
    
    gfx_move(0,0);
    gfx_print_text("RC5: ");
    
    uint8_t REMOTE_CODE = LOBYTE(irco_rc5_cmd);
    gfx_move(30,0);
    print_hex(HIBYTE(irco_rc5_cmd)); //erster Druck: 0x38  zweiter Druck: 0x30 (für zweistellige Zahlen)
    print_hex(REMOTE_CODE);


    // Fernbedienung Einstellung: TV1, 023
    switch(REMOTE_CODE)
    {
        case 0x01: //1 (Ziffernblock der Fernbedienung)
        FB_TASTE = 1;
        break;
        
        case 0x02: //2
        FB_TASTE = 2;
        break;


        case 0x03: //3
        FB_TASTE = 3;
        break;
        
        case 0x04: //4
        FB_TASTE = 4;
        break;
        
        case 0x05: //5
        FB_TASTE = 5;
        break;
        
        case 0x06: //6
        FB_TASTE = 6;
        break;
        
        case 0x07: //7
        FB_TASTE = 7;
        break;
        
        case 0x08: //8
        FB_TASTE = 8;
        break;
        
        case 0x09: //9
        FB_TASTE = 9;
        break;
        
        case 0x00: //0
        FB_TASTE = 0;
        break;
        
        case 0x20: //CH+ (Sonstige Tasten der Fernbedienung)
        FB_TASTE = 10;
        break;
        
        case 0x21: //CH-
        FB_TASTE = 11;
        break;
        
        case 0x10: //VOL+
        FB_TASTE = 12;
        break;
        
        case 0x11: //VOL-
        FB_TASTE = 13;
        break;
        
        case 0x0d: //LOUDSPEAKER OFF (green)
        FB_TASTE = 14;
        break;
        
        case 0x0c: //ON/OFF (red)
        FB_TASTE = 15;
        break;
        
        case 0x29: //PAUSE
        FB_TASTE = 16;
        break;
        
        case 0x36: //STOP
        FB_TASTE = 17;
        break;
        
        case 0x32: //RECORD (red point)
        FB_TASTE = 18;
        break;
        
        case 0x3c: //REWIND (red)
        FB_TASTE = 19;
        break;
        
        case 0x3f: //PLAY (yellow)
        FB_TASTE = 20;
        break;
        
        case 0x2b: //FAST-FORWARD (blue)
        FB_TASTE = 21;
        break;
        
        case 0x0b: //OK (green)
        FB_TASTE = 22;
        break;
        
        case 0x37: //SCREEN2
        FB_TASTE = 23;
        break;
        
        case 0x34: //SCREEN4
        FB_TASTE = 24;
        break;
    }
            
    return FB_TASTE;
}
und
Code:
// Fernbedienung abfragen
        FB_TASTE = getTaste();
        textout(20,56,"  ",0); 
        gfx_move(20,56);
        print_hex(FB_TASTE);
        
// Reaktion auf Taste        
        switch(FB_TASTE)
        {
        case 12: //VOL+
            SPEEDFACTOR++;
            if(SPEEDFACTOR>MAXSPEEDFACTOR)
                SPEEDFACTOR = MAXSPEEDFACTOR;                
        break;
        case 13: //VOL-
            if(SPEEDFACTOR>0)
                SPEEDFACTOR--;                            
        break;
        }
in einer Endlos-while(1)-Schleife auf einen Tastendruck reagiere, wie kann ich das Signal/den RC5-Code auf einen Wert ohne Funktion zurücksetzen, damit es nicht bis zum Extremwert durchläuft? Geht das überhaupt?