Blackfin ISR Beispiel gesucht

Gast #1714792
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
Gast #1714896
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?
Angehängte Dateien:
Gast #1715072
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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren