bei mir war sie auch nicht enthalten aber in dern RP6BaseLib gibt es sie und die wird ja im base slave prog verwendet.. naja mir ist jetzt aufgefallen dass ich das slave prog zwar geändert aber nicht neu compiliert hab !!(ich vergess oft die hälfte) das wollte ich jetzt machen, bekomme allerdings den fehler, dass IRCOMM nicht definiert wurde... was eig iwie nicht sein kann denn das habe ich nicht nachgetragen, das stand schon so drinnen....
ach ja IRCOMM wird hier verwendet:
Code:
void task_MasterTimeout(void)
{
if(status.watchDogTimer)
{
if( getStopwatch2() > 3000) // 3 seconds timeout for the master to react on
{ // our interrupt events - if he does not react, we
// stop all operations!
cli(); // clear global interrupt bit!
PORTD &= ~IRCOMM;
setACSPwrOff();
OCR1AL = 0;
OCR1BL = 0;
TCCR1A = 0;
powerOFF();
writeString_P("\n\n##### EMERGENCY SHUTDOWN #####\n");
writeString_P("##### ALL OPERATIONS STOPPED TO PREVENT ANY DAMAGE! #####\n\n");
writeString_P("The Master Controller did not respond to the interrupt requests\n");
writeString_P("within the defined timeout! Maybe he's locked up!\n");
writeString_P("\nThe Robot needs to be resetted now.\n\n");
while(true) // Rest In Peace
{
setLEDs(0b100010);
uint8_t dly;
for(dly = 10; dly; dly--)
delayCycles(32768);
setLEDs(0b010100);
for(dly = 10; dly; dly--)
delayCycles(32768);
}
}
else if(getStopwatch3() > 250)
{
status.wdtRequest = true;
signalInterrupt();
setStopwatch3(0);
}
}
}
weiß jemand wie man dieses problem lösen kann ?? denn dan glaube und hoffe ich, dürfte das programm laufen
EDIT:
könnte man die rot markierte zeile vll durch dies hier ersetzen:
PORTD &= ~(1<<PIND7)
so wirdn nämlich in der BaseLib der IRCOMM port abgeschaltet
Lesezeichen