Konfiguration der Mailbox für AT90CAN 128

Gast #1187512
Lesenswert?

Hallo,

Ich beschäftige mich seit einigen Zeit mit dem Mikrocontroller 
AT90CAN128 von Atmel.
Ich sende und empfange Nachricht per CAN-Bus.Ich habe bis jetzt für das 
Empfanfen die Mailbox vorher gewählt. Nun möchte ich eine kleine Routine 
schreiben, die mir automatisch die freie Mailbox zurück gibt. Wenn es 
keine freie Mailbox gibt, die 0xF zurückgeben.
ich habe die Funktion so definiert, aber ich bekomme nicht die 0xF als 
Rückgabewert. Ich bekomme immer die Werte 0 bis 14 und wieder die 0 bis 
14.
Bitte kann jemanden mir helfen.

Ich danke Ihnen


 uint8_t Get_FreeMob(void)
 {
   uint8_t ctrlReg;
   uint8_t equality = 1;
   for ( uint8_t freemob = 0; freemob < 15; freemob++)
   {
     CANPAGE = freemob << 4;
     ctrlReg = (CANCDMOB & ((1<<CONMOB0) |(1<<CONMOB1)));
     if (ctrlReg == 0){
       equality = 0;
       return freemob;
     }
   }

   if(equality==1){
     return 0xF;
   }
 }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren