Hi,
unter der Annahme, daß dein programm schnell genug ist, was dzt. wohl so ist (sonst müßtest du buffern)
Der Shift ist EIN Cpu-Befehl, der nicht unterbrochen werden kann. dadurch ist der Flag vom Interrupt entweder vorher drin, dann haben wir ihn ja, oder nachher, dann kriegen wir ihn halt beim nächsten malCode:static char daten = 0; static char flag1 = 0; // flag is immer gut SIGNAL(...) { flag |= 1; // es is was da } main() .... ... while (1) { flag <<= 1; // if (flag & 2) { flag &= ~2; // löschen daten = UDR; // holen ......... // verwursteln if then else und überhaupt } }
mfg robert







Zitieren

Lesezeichen