INFO - FAQ - CC2-Forum - CCPro-Forum |
> habe gerade in den FAQs gelesen, dass der Interrupt der C-Control durch das Setzten bzw. Löschen des I-Bits aktiviert und deaktiviert werden kann. > Ich habe es leider nicht hinbekommen, egal ob ich das Bit setzte oder lösche - der Interrupt löst aus. Vielleicht hast Du nicht bedacht, daß der Tokeninterpreter des C-Control-Betriebssystems an diversen Stellen CLI-Befehle enthält. Vor Ausführen eines BEEP-Befehls oder nach dem Schreiben auf einen Ausgabeport wird beispielsweise ein CLI ausgeführt und macht so Dein SEI hinfällig. Ich weiß nicht, was Du machen möchtest, aber der TOG-Befehl, mit dem ein auf Ausgabe geschalteter Bitport getoggelt werden kann, enthält z.B. kein CLI. Ansonsten mußt Du mit Hilfe der Interrupt-Enable-Bits in den diversen Control-Registern jede Interruptquelle einzeln deaktivieren und bei Bedarf wieder reaktivieren. Das dürfte Dein Problem lösen. ; Alle maskierbaren Interruptquellen deaktivieren sei ;Disable Interrupts bclr #4,$0c ;External interrupt (IRQ) deaktivieren lda #%00000000 ;ICAP, OCMP und TOVL deaktivieren sta $12 ;Timer control register (TCR) setzen lda #%00001100 ;alle moeglichen Interrupts von SCI deaktivieren sta $0f ;SCI control register (SCCR2) setzen cli ;Enable Interrupts rts Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |