Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Tasterentprellung in Assembler geht nicht Kategorie: Progr. Assembler, TaskingTools, OS (von AndrĂ© H. - 15.05.2005 18:13)
Als Antwort auf Tasterentprellung in Assembler geht nicht von Harald - 28.02.2005 9:12
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
Hallo Harald,

> AM P1H0 ist ein taster angebracht. Das Problem ist nun, daĂ? die Entrpellung im Maschinencode
> so nicht funktioniert. Das System scheint sich die beim Prellen entstehende zweite fallende Flanke
> (konnt ich Oszillografieren) zu merken und fĂĽhrt die Routine nach Ende der Wartezeit sofort
> nochmals aus.

Das ist korrekt.
Wenn während des Abarbeitens eine zweite Flanke ansteht,
wird diese "gemerkt" und löst geleich wieder einen Interrupt aus.

> Woran liegt das? Gibt es eine Lösung für das Problem? Kann der Interrupt evtl. wegen des Betriebssystems von
> Assembler aus nicht stillogelegt werden?

Das einfachste ist, den entsprechenden Interrupt gleich am Anfang der Routine zu deaktivieren.
Ă?ber welches Register dies geht, steht im Handbuch unter "Fast External Interrupts"
Für die Ports P1H.0 - .3 ist das EXICON-Register zuständig.
Man darf nur nicht vergessen, vor dem verlassen der Interruptroutine, diesen Interrupt
wieder zu aktivieren.

MfG André H.


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: