www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Interrupt nach SPI Übertragung (Sharc 21369)


Autor: Hans-Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab eine fertige SPI Empfangsroutine. Empfang von Daten funktioniert 
problemlos. Bräuchte nach dem Empfang ein Interrupt um die 
InterruptServiceRoutine zu starten. Dort soll dann der Eingangsbuffer 
kopiert und verarbeitet werden.

Mein Problem: Ich bekomme das/den Interrupt nicht zum laufen.

Auf den früheren Modellen, z.B. ADSP-21161N war der Code:
"interruptf( SIG_SPIRI, rcv_ISR);"
beim ADSP-21369 angeblich
"interrupt( SIG_P1, rcv_ISR);"
die rcv_ISR natürlich als void "rcv_ISR(int SIG_INT)"


hier der Quelltext:
/* SPI-B config for RECIEVE */
void SPIB_config()
{
  /* INIT SPI-B SLAVE RECIEVE DMA */
  *(volatile int *)SPICTLB = 0;
  *(volatile int *)SPIFLGB = 0;
  *(volatile int *)SPIDMACB = 0;

  *(volatile int *)SPIFLGB = DS0EN;

  *(volatile int *)IISPIB = (int) rcv_buf;
  *(volatile int *)CSPIB = sizeof(rcv_buf);
  *(volatile int *)IMSPIB = 1;

  *(volatile int *)SPICTLB =   SPIEN|MSBF|CPHASE|WL8|SGN|TIMOD2;

  *(volatile int *)SPIDMACB =   SPIDEN|INTEN|SPIRCV;

  interrupt(SIG_P1,rcv_ISR); /* interrupt when rcv_buffer is full */

  // COMMENT:
      // I'm not shure how to get an interrupt
      // when the recieve buffer (RXSPIB) is full.
      // Here I recieve values but I never get
      // any interrupt?
}


/* RECIEVE ISR */
void rcv_ISR(int sig_int)
{
  printf("\nInterrupt!");

}


Danke im vorraus ...


HP

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.