@all, ich versuche gerade mit einem 80c517a Interrupts online zu ändern jedoch ohne erfolg. Mein Programm soll ein Signal auswerten konstant, zu einem bestimmten Zeitpunkt einmal am Tag möchte ich die beide Interrupts die zum auswerten des Signals notwendig sind abschalten und dafür zwei andere eineschalten die ein zweites Signal auswerten sollen und nach 3 Minuten das ganze zurück also Interrupts signal 2 AUS und Signal 1 an. Muss man hier was besonderes beachten? Ich hänge mal noch ein Testprogramm an, ich hoffe nicht zu umständlich da Anfänger. Gruß Tom
Das ganze sieht ja höllisch kompliziert aus. Was sind denn das für nen Haufen Signale ? Wenn Du meinst Interrupts zu enablen und disablen, das kannst Du zu jeder beliebigen Zeit. Beim Enablen ist nur darauf zu achten, vorher das korrespondierende Interruptflag zu löschen, will man nicht auf längst vergangene Ereignisse triggern. Wenn es Dir aber nur darum geht, eine DCF77 Uhr zu basteln, daß geht wesentlich einfacher: http://home.tiscali.de/peterd/appl/soft/c51/thclock/index.htm Peter
@Peter, ich versuche gerade zwei lauffähige Programme zusammenzubasteln. Das erste ist zur Erkennung mehrerer Funkmodulen daher ziemlich viele Signale und Variablen da es sich um verschiedene Datentelegramme handelt und das zweite ist die erkennung des DCF Signals. Zur Signalauswerung nehme ich P1.0,P1.1 und Timer2 diese möchte ich abschalten(DISABLE) und danach P1.3,P1.5 und Timer1 zur erkennung des DCF Signals einzuschalten(ENABLE) und das ganze nach dem erkennen der Zeit wieder zurück. Wenn ich aus dem angehängten Programm das folgende auskommentiere dann funktioniert das Programm. //Interrupts inizialisieren I3FR = 0; //Einstellung vom P1.0 auf fallende Flanke EX3 = 1; //Einschalten der Interruptfunktion an P1.0 EX4 = 1; //Einschalten der Interruptfunktion an P1.1 IT1 = 1; //Einstellung vom P3.3 auf fallende Flanke EX1 = 1; //Einschalten der Interruptfunktion P3.3 Es schein etwas nicht zu passen wenn ich die Interrupt einschalte und Sie dannwieder abschalte?!?!?!?;-() Ich kann mir dieses auch nicht erklären und dache ich poste mal. TOM
Naja, wenn Du 6 Interrupts (EX1, EX3, EX4, EX6, ET1, ET2) einschaltest, aber nur 3 Interrupthandler schreibst, muß das natürlich krachen. Jeder benutzte Interruptvektor muß auch einen Handler haben ! Peter
@Peter, Danke schon mal für die Schnelle Antwort. Ist mir heute zu spät werde es morgen noch mal probieren. Melde mich wieder. 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.