Ich habe wieder mal ein Problem: Ich steuere ein Display an, die Sync Signale liegen P1.5 und P1.6 (INT3 und INT4) an. Daher habe ich die beiden Interrupts in der sect30.inc eingetragen: ;--------------------------------------------------------------- ; variable vector section ;--------------------------------------------------------------- .section vector ; variable vector table .org VECTOR_ADR .lword dummy_int ; vector 0 (BRK) .lword dummy_int ; Reserved (for user) .lword dummy_int ; Reserved (for user) .lword dummy_int ; Reserved (for user) .glb _int3 .lword _int3 ; INT3 (for user) .lword dummy_int ; TIMER B5 (for user) .lword dummy_int ; TIMER B4 (for user) .lword dummy_int ; TIMER B3 (for user) .lword dummy_int ; INT 5 (for user) .glb _int4 .lword _int4 ; INT4 (for user) Im NC30 Compiler die Interrupts deklariert: #pragma INTERRUPT int3 #pragma INTERRUPT int4 und aktiviert: ifsr=64; int4ic=6; int3ic=22; asm( "\tFSET I"); /* Enable interrupt */ void int3(void) //VSync { Byte=0; return; } void int4(void) //PixelClk { p0 = FrameBuffer [Byte%16] [Byte/16]; Byte++; while ((p1 & 64)== 64) {} p1=(p1 | 128); while ((p1 & 64)== 0) {} p1=(p1 & 127); return; } Int3 funktioniert, Int4 nicht, aber wiso ???
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.