mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Blackfin ISR Beispiel gesucht


Autor: hoderlump (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi folks,

schimpft mich nicht, aber ich bräuchte ein einfaches Beispiel für eine 
ISR, die von einem internen Timer im BF537 ausgelöst wird. Also, im 
Endeffekt eine Funktion, die alle 20 ms ausgeführt wird.
Das hab ich bisher per polling einer clock()-Funktion realisiert, das 
ist aber so alles andere als schön. Leider ist die Blackfin-Doku für 
mich alles andere als gut lesbar, muss halt den Blackfin verwenden und 
Beispiele finde ich im Netz kaum.

Ich arbeite mit VirtualDSP++ und scheitere schon daran, den Interrupt zu 
initialisieren und in C zu benutzen, also an der C-Syntax.

Habt ihr was da?
Viele Grüsse, vielen Dank
Johannes

Autor: hoderlump (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt versucht die Datenblätter zu verstehen und die 
erforderlichen Schritte für einen Timer nachzuvollziehen, siehe Anhang.

Der Blackfin hat drei Timermodi:
-Pulse Width Modulation (PWM_OUT) Mode
-Pulse Width Count and Capture (WDTH_CAP) Mode
-External Event (EXT_CLK) Mode

Beim xc164 haben wir immer den capture/compare-modus für solche Zwecke 
(eine ISR alle 20ms aufrufen) verwendet. Welcher der obigen ist dafür 
denn am sinnvollsten?

Autor: hoderlump (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habs jetzt fast gelöst, im Anhang eine Datei, die egtl einen bei jedem 
Interruptaufruf einen counter hochzählen sollte. Leider klappt das grade 
nicht, sollte aber schon fast vollständig sein.

Ich habe Schwierigkeiten, Informationen über das Register IMASK 
(0xFFE02104) im Datenblatt zu finden. Hat jemand mehr Infos? Das 
Register wird ua. in diesem Beispiel benutzt:
http://www.mikrocontroller.net/attachment/highlight/39330

viele Grüsse
Johannes

Autor: Strubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

guck mal hier: http://www.section5.ch/forum/viewtopic.php?f=2&t=118

(irqhandler.asm, irq.c, etc.)

gruss,


- Strubi

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.