hallo. bin auf der suche nach einem 8bitter mit nicht maskierbarem interrupt. er sollte außerdem >32 IOs haben und 32..64kB flash. wer hat ideen? gruß michael
Wozu ein NMI? Nimm einfach einen Mikrocontroller Deiner Wahl, und schalte die Interrupts eben nie ab; fertig ist der NMI. Speicherschutz und Aufteilung in Super-Visor-Mode und Normal-Mode gibt's sowieso nicht, daher gibt's natürlich auch kein NMI, da das sinnfrei wäre.
Naja, einen NMI hatten Prozessoren lange bevor es so Dinge wie den Supervisormode oder irgendwelchen Speicherschutz gab. Das war bei den alten 8-Bit-Prozessoren aus dem Protozoikum* recht normal. *) Motorola 6800, 6502, Z80 und jeweilige Nachfolger
Gegenfrage: wozu braucht man einen NMI ? Wenn Du z.B. ein 8051-Derivat nimmst, weise einfach einem externen Interrupt die Priorität 3 zu und allen anderen die Priorität 0..2 und schon kann dieser Interrupt sämtliche anderen immer unterbrechen. Natürlich darf dann im Hauptprogramm nirgends ein globales Disable stehen. Aber das ist auch kein Problem, nimm einfach einen unbenutzen Interrupt und weise ihm die Priorität 2 zu. Will nun das Main Sachen unter Interruptsperre ausführen (z.B. 1-wire) setzt es einfach das Interruptflag dieses Interrupts und übergibt ihm die unter Sperre auszuführende Routine. Damit sind alle anderen Interrupts der Priorität 0..2 gesperrt, aber der simulierte NMI (Priorität 3) weiterhin erlaubt. Der AT89C51CC03 hat 64kB Flash und 37 IOs. Der AT89C51RD2 hat 64kB Flash und 50 IOs. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.