Hi, ich habe aktuell das Problem, dass mein ATMega128 mit 16 Mhz hin und wieder Interruptssignale (INT3) übersieht. Die ankommenden Interrupts sind mal länger und mal kürzer (genaue Impulsdauer weiß ich leider nicht, dafür brauche ich wohl mal einen Logicanalyzer). Ich finde das nicht im Datenblatt: weiß jemand, wie oft der ATMega den Interrupt Eingang pollt? Oder andersherum: wie lange muss ein Signal mindestens anliegen, damit der ATMega128 dieses erkennt? Danke Karli
>Interrupt Eingang pollt?
Nie?!
Sonst würde ich die Seite 87 im Datenblatt empfehlen...
Ach noch eines, mit was für einer externen Beschaltung könnte ich denn die Dauer eines eingehenden kurzen Interrupt-Signals "verlängern"? Karli
Naja, "nie" ist nicht ganz richtig. Aber das erklärt der erste und zweite Absatz auf Seite 87 ziemlich gut. Es kommt bei flankengetriggerten Interrupts schon auf die Taktgeschwindigkeit des Controllers an. Nadelimpuls sind schwer zu detektieren...
mit einem Monoflop zum Beispiel, das empfindlich genug ist auf deine kurzen Interruptsignale zu reagieren und daraus einen etwas längeren und dann auch immer gleich langen Impuls generiert.
Oder ein FliplFlop, das du dann per Controller zurücksetzt.
Der Impuls muß mindestens 1 Zyklus breit sein, d.h. 1/16MHz = 62,5ns. Ich weiß ja nicht, wo die kürzeren Impulse herkommen, aber ich vermute mal, Du hast einfach nen anderen Interrupt, der schneckenlahm ist und wärend der läuft, kommt schon der 2. Impuls und geht dann natürlich verloren. 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.