BlaueLed
26.11.2007, 22:17
Hallo,
ich benutze einen Sync-Stripper um aus einem Videosignal den Horizontal- und Vertikalsynchronimpuls zu generieren. Als Controller habe ich den mega168 mit 20 Mhz Quarzoszillator. Den Horizontalimpuls habe ich an Int0 und den Vertikalimpuls an Int1 angeschlossen. Die Interrupts sind auf Falling eingestellt. Ich möchte erreichen, das 2 led´s getoggelt werden. Folgendes Programm funktioniert zwar, aber nur, wenn ich einen von beiden Interrupts Disable. Dann geht der jeweilige andere.
'--- Chipdefiniton ---
$regfile = "m168def.dat"
$crystal = 20000000
$hwstack = 64
$swstack = 32
$framesize = 24
'--- Portdefinition ---
Config Portb = Output
'--- Interrupt ---
Config Int0 = Falling
Config Int1 = Falling
Enable Int0
Enable Int1
Enable Interrupts
On Int0 Onhorizontal
On Int1 Onvertikal
'--- Alias ---
Led_hor Alias Portb.0
Led_ver Alias Portb.1
'--- Boot ---
Led_hor = 0
Led_ver = 0
'--- Hauptprogramm ---
Main:
nop
Goto Main
'--- Horizontal Interrupt ---
Onhorizontal:
Toggle Led_hor
Waitms 300
Toggle Led_hor
Waitms 300
Return
'--- Vertikal Interrupt ---
Onvertikal:
Toggle Led_ver
Waitms 300
Toggle Led_ver
Waitms 300
Return
Kann ich denn überhaupt beide Interrupts "gleichzeitig" enablen ? Wenn ja, warum funktioniert dann mein Programm nicht ? wäre nett, wenn jemand helfen könnte. Danke
mfg Kay
ich benutze einen Sync-Stripper um aus einem Videosignal den Horizontal- und Vertikalsynchronimpuls zu generieren. Als Controller habe ich den mega168 mit 20 Mhz Quarzoszillator. Den Horizontalimpuls habe ich an Int0 und den Vertikalimpuls an Int1 angeschlossen. Die Interrupts sind auf Falling eingestellt. Ich möchte erreichen, das 2 led´s getoggelt werden. Folgendes Programm funktioniert zwar, aber nur, wenn ich einen von beiden Interrupts Disable. Dann geht der jeweilige andere.
'--- Chipdefiniton ---
$regfile = "m168def.dat"
$crystal = 20000000
$hwstack = 64
$swstack = 32
$framesize = 24
'--- Portdefinition ---
Config Portb = Output
'--- Interrupt ---
Config Int0 = Falling
Config Int1 = Falling
Enable Int0
Enable Int1
Enable Interrupts
On Int0 Onhorizontal
On Int1 Onvertikal
'--- Alias ---
Led_hor Alias Portb.0
Led_ver Alias Portb.1
'--- Boot ---
Led_hor = 0
Led_ver = 0
'--- Hauptprogramm ---
Main:
nop
Goto Main
'--- Horizontal Interrupt ---
Onhorizontal:
Toggle Led_hor
Waitms 300
Toggle Led_hor
Waitms 300
Return
'--- Vertikal Interrupt ---
Onvertikal:
Toggle Led_ver
Waitms 300
Toggle Led_ver
Waitms 300
Return
Kann ich denn überhaupt beide Interrupts "gleichzeitig" enablen ? Wenn ja, warum funktioniert dann mein Programm nicht ? wäre nett, wenn jemand helfen könnte. Danke
mfg Kay