Forum: Mikrocontroller und Digitale Elektronik Interrupteingange EIN und AUS schalten


von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

jaja ich schon wieder, aber ich sitze hier schon wieder seit Stunden
und komme nicht weiter.
Ich habe ein Programm geschrieben in dem ich ständig ein Signal
auswerte dieses ist über die Interrupteingänge P1.0 und P1.1
angeschlossen.
Ausserden verwende ich dem Interrupt der seriellen Schnittstelle und
den von Port 3.3.
Nun will ich das DCF-77 Signal dazu benutzen um meinen RTC einmal pro
Tag zu aktualisierten soweit so gut.
Wenn ich nun versuche alle Interrupteingänge P1.0,P1.1,RS232,...
abzuschalten und die für mein DCF Signal einzuschalten tut sich
nichts.
Ich habe nun schon folgendes Probiert.
Im Anhang labe ich einen Auszug aus meinem Programm wenn ich den rot
Makierten Bereich Auskommentiere und die ersten drei Zeilen des violett
maierten Bereichs auch Auskommentiere funktioniert das ganze ohne
Probleme.
Aktiviere ich nun den roten Bereich wieder ausser ES0 funktioniert
wieder nichts.
Kann ich überhaupt während ein Programm läuft Interrups ein und wieder
ausschalten?
Habe dies bis jetzt noch nicht gebraucht habe sie immer am Anfang
inizialisiert.
Ich verwende einen 80C517A + Keil uvision Demo.


Danke schon mal.

TOM

von Peter D. (peda)


Lesenswert?

> Aktiviere ich nun den roten Bereich wieder ausser ES0 funktioniert
> wieder nichts.

Ohne Dein Programm zu sehen, kann man nichts dazu sagen.

Allgemein könnte es sein, daß Du die Interrupthandler nicht kurz
hältst, sondern unnötig Zeit darin verbrätst, und damit andere Sachen
blockierst.


> Kann ich überhaupt während ein Programm läuft Interrups ein und
wieder
> ausschalten?

Kein Problem, wird aber in der Regel sehr selten gemacht (benötigt).
Interrupts dienen ja gerade dazu, viele Sachen gleichzeitig zu machen,
d.h. bei jedem Auftreten.

Vor dem Wieder-Enablen dann aber nicht vergessen, alte Interrupts zu
löschen.


Peter

von TOM (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Peter,
konnte mich leider nicht melden da ich geschäftlich unterwegs war.
Ich habe die beiden Programme angehängt das eine DCF_01 ist das
funktionierende habe es gerade nochmal getestet und es läuft.DCF_02
habe ich so abgeändert wie es in meinem eigentlichen Programm ablaufen
soll.Ich will ständig ein Signal auswerten und einmal am Tag will ich
die Interrupt so ändern, dass ich die Interrups des eigentlichen
Signals abschalte und die des DCF Signals einschalte.
Sobald ich das DCF Signal ausgewertet habe sollen diese Interrups
abgeschaltet werden und die des eigentlichen Signals wieder
eingeschaltet.
Ich mochte noch eines zu meinen Programmen sagen, ich bin Anfänger und
bin mir sicher mit etwas mehr Erfahrung könnte man das ganze auch
eleganter löschen. :-)
Schau einfach mal drüber eventuell siehst Du ja einen Denkfehler
meinerseits.
Ich sehe gerade, dass man nur ein File angängen kann werde das zweite
gleich posten.

Danke schon mal im voraus !!!!!!!

TOM

von TOM (Gast)


Angehängte Dateien:

Lesenswert?

Hier das zweite.

TOM

von Tom (Gast)


Lesenswert?

Hat wirklich keiner eine Idee oder Denkanstoss?!?!?

Gruß

TOM

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
Noch kein Account? Hier anmelden.