Habs gelöst, aber warum es passiert weiß ich immer noch nich
Hallo Robert,
ich muss ehrlich zugeben, ich habe auch ne Zeit gebraucht, bis ich verstanden habe, wozu der switch umgebaut wurde.
Hab nochmal nachgeschaut, ich habe tatsächlich nur auf positive Flanke getriggert.
Mittlerweile habe ich das Problem auch eingegrenzt und behoben (zumindest von der Software-Seite)!
Es war ehrlich gesagt nicht ganz so, wie ich es am Anfang gepostet hatte. Der 2. Interrupt wird nur ausgelöst, wenn im 1. Byte das höchstwertige Bit gesetzt ist! Dann und nur dann wird bei der Übertragung des 2. Bytes ein 2. Interrupt generiert und er macht Schrott.
Hab das jetzt einfach so abgefangen:
Code:
case 1:
time2 = P3_DATA;
if (time1 > 127 && error == 1)
{
error = 0;
counter--;
}
break;
error ist nochmal ein Bit, damit ich weiß, ob ich das erste mal in den case reinlaufe oder nicht.
Das funktioniert zumindest mal - auch wenn ich nach wie vor nicht weiß, warum der 2. Interrupt ausgelöst wird. Das wird wohl das Geheimnis des Controllers bleiben...
Vielen Dank für deine tatkräftige Unterstützung und viele Grüße
Michael