Forum: Mikrocontroller und Digitale Elektronik Problem mit externen Ints und "timer on Compare" interrupt


von Rene (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe ein großes Problem mit meinen Interruptfunktionen.

Wenn ich von meinem "externen Interrupt 3" aus in meine SIGNAL
(SIG_OUTPUT_COMPARE3A) Schleife springe, dann wird die dort drin
stehende "Wartezeit" beachtet, springt der Controller hingegen vom
"externen Iterrupt 0" aus in die selbe Schleife, dann wird die
Wartezeit einfach ignoriert.

Weiß jemand weiter??

Anbei der relevante Codeauszug in c.

Danke im Voraus

René

von Hannes L. (hannes)


Lesenswert?


von Hannes L. (hannes)


Lesenswert?

Achja, demnächst bitte einen kürzeren Betreff eintippen, dann bekommst
du vermutlich auch mehr Antworten.

8-P

...

von Rene (Gast)


Lesenswert?

Hallo Hannes, kannst du mir da weiterhelfen? Ich verstehe den thread
nicht so ganz. Es geht hier ja nur um die Auswahl des externen
Interrupts. Wenn ich die Zeile SIGNAL (SIG_INTERRUPT3) in
SIGNAL (SIG_INTERRUPT0) ändere, dann wird die Wartezeit einfach
ignoriert. Kann das sein??

Vielen Dank im Voraus

Ciao René

von Hannes L. (hannes)


Lesenswert?

Ich werde dir bei deinem kryptischen Bezeichnern in BASCOM nicht helfen
können.

Ich schreibe in Assembler, das ist einfacher und übersichtlicher, da
gelten nur die Informationen des Datenblattes des Controllers. Im
Datenblatt sind die AVR-Architektur und alle I/O-Features incl.
I/O-Register und deren Bits ausführlich und eindeutig beschrieben. Auch
eine für den jeweiligen Typ gültige Liste der ASM-Befehle mit
Kurzbeschreibung ist im Datenblatt enthalten. Es gibt also (für mich)
keinen Grund, mich auch noch mit kryptischen Bezeichnungen und
Config-Anweisungen von BASCOM zu befassen.

Die Interrupts wähle ich durch den Aufruf in der
Interrupt-Vektortabelle aus. Den Namen der ISR darf ich selbst
bestimmen, der Aufruf muss nur exakt in der richtigen Speicheradresse
stehen. Und die sind im Datenblatt unter interrupt-sources genau
aufgelistet.

...

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.