www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik M16C + Interrupt


Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ???

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.