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 UlliS - 7.07.2009 8:39)
Als Antwort auf Re: Alle Interrupts zeitweise sperren von Dirk - 6.07.2009 17:54
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 32 Application Board, CC-Pro 128 Application Board, Pro-Bot128
> > > 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?
>
> Dirk


Hallo Dirk,

hast du schon mal Timer disable ausprobiert?

Timer_Disable(Timer Nummer)
Timer_Disable(2)


Grü�e Ulli




    Antwort schreiben


Antworten: