Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Alle Interrupts zeitweise sperren Kategorie: IDE (von Dirk - 8.07.2009 20:54)
Als Antwort auf Re: Alle Interrupts zeitweise sperren von PeterS - 7.07.2009 13:31
Ich nutze:
C-Control Pro Mega128
> > > > Hallo  Leute,
> > > >
> > > > ich programmiere in CompactC (kein Multithreading!) und möchte zeitweise bei zeitkritischem Code
> > > > alle Interrupts sperren.
> > > >
> > > > Ich finde nur Befehle, um einzelne Interrupts zu sperren.
> > > >
> > > > Wie sperrt man alle Interrupts und gibt sie in CompactC wieder frei (in Assembler CLI, SEI)?
> > > >
> > > > Dirk
> > >
> > > Hallo Dirk,
> > >
> > > es gibt keinen Befehl um alle Interrupts zu sperren. Du müsstest schon für die Interrupts wo Du
> > > Interrupt Routinen definiert hast, die Interrupts einzeln sperren. Was willst Du denn
> > > zeitkritisches machen?
> > >
> > > Gruss Peter
> >
> > Ich habe einen Sender/Empfänger, der mit 3 I/O-Ports (Clock, Data, Ackn) mit einem eigenen seriellen
> > Protokoll angesteuert wird. Das ganze macht Probleme auf der untersten Ebene, d.h. beim Reinschieben
> > der 8 Bits jedes Bytes, wenn das Protokoll unterbrochen wird. In AVR-GCC hatte ich das auch schon
> > umgesetzt und muÃ?te da IRQs sperren.
> > Eigentlich mü�te ich ja nur Timer2 sperren (10ms Tick) oder sind (au�er dem Interpreter) noch andere
> > Interruptquellen aktiv?
>
> Ja, wenn man eine USB Verbindung zum Applicationboard hat, ist der SPI Interrupt aktiv. Sonst
> vielleicht noch der serielle Interrupt, wenn man die entsprechenden Funktionen aufruft.
>
> Gruss Peter
>
> >
> > Dirk

So, Problem gelöst: Das Sperren von Timer2 reichte aus.

Dirk



    Antwort schreiben


Antworten: