mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Siemens C167 + FFT + Register auslesen in C


Autor: Daniel Slamanig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo hätte da eine Bitte!

Ich möchte eine FFT auf einem C167 realisieren. Will das so machen,
dass ich den eigentlichen FFT in Assembler (Code habe ich) und den c167
ueber C programmier. Also den Assemblercode ins C einbinden. Nun die
Frage: Hat jemand eine Ahnung, wie ich von C aus direkt ein Register
des C167 ansprechen kann? z.B das mit den berechneten Werten. Und
welche Datenstruktur wuerde sich am besten eignen?? oder ist es am
besten den Bytestream mal zwischenzeitlich in einem File abzulegen
(füer Testzwecke sicher..denke ich mir halt).
Danke für jegliche Antwort

mfg
Dani

Autor: Daniel Slamanig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi die 2'te,

wäre schon sehr dankbar, wenn mir jemand sagen koennte, wie ich direkt
auf ein Register zugreifen koennte...
hab nämlich nicht wirklich was darüber gefunden..
danke..

mfg

dani

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,

ich selber benutze den C167 nicht und weiss auch nicht, welchen
Compiler Du benutzt. Ich würde so vorgehen:
1. In der Doku schauen, wie Variablen an Unterprogramme in Registern
übergeben werden. Manche Compiler haben auch spezielle Directiven
dafür.
2. Eine Demo-Funktion schreiben und dann im erzeugten Assemblercode
schauen, welche Register verwendet werden. Du kannst z.B. Parameter
innerhalb der Funktion an globale Var. übergeben, dann siehst Du es
sehr schön. Pass aber auf, dass Dein Code (weil unnütz) wegoptimiert
wird. Bei gcc: Variable als volatile deklarieren.

Viel Spass, Stefan

Autor: Mark de Jong (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,

Wie arbeitet deinen Asm routine, wird er von einen timer interrupt
auferufen?

Ich würde die resultaten in einen speicherbereich schreiben, und das
dann von der C routine auslesen.

Denn der FFT routine gibt wahrscheinlich mehrere bytes als resultat,
oder?

Grüße Mark,

Autor: Mark de Jong (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,

Welche Compiler benutzt Du?

Grüße Mark,

Autor: Daniel Slamanig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi mark!

bin leider ein noob...hab da eine software von keil (micro vision), das
bietet mir eine c umgebung..ka welchen compiler das
verewendet..parallel hab ich noch das visual c++ 6 drauf..

ja so dachte ich mir das..durch einen interrupt wird die asm routine
gesteuert..ja die execution time von der 1024 point fft (butterfly) is
max 13 ms und die ergebnisse werden zwecks hinreichender genauigkeit in
einer groesse von 16 bit gespeichert..

wenn ich diese infos habe, duerfte das auslesen ja auch kein problem
mehr sein, fuer mich jedoch schon..da totaler anfaenger auf dem gebiet
:)

kannst du mir ein beispiel geben, wie ich z.b ein register in eine c
variable speichern kann?

mfg

dani

Autor: Daniel Slamanig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@stefan:

danke werd deiner anregung mal nachgehen ;)

mfg

dani

Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf der Homepage von Keil gibt es Application-Notes.
U.a. einige zum C166 und C167.
Könnte mir vorstellen, daß da was für Dich dabei ist

Autor: Daniel Slamanig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@AndreasH

thx! hab da zwar vorher schon mal gstöbert, aber nix gfunden.
(vielleicht haben die ihre application notes ja erweitert)
hab da schon einen hinweis bekommen!

danke noch einmal,

mfg

dani

Autor: Tipper (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kennst Du das?
http://www.infineon.com/cgi/ecrm.dll/ecrm/scripts/...

Das Auslesen von Registern und Speicherstellen mit
µVision/C166-Compiler steht in den jeweiligen Manuals.


Tipper

Autor: Daniel Slamanig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
thx!

sagte ja..ich bin ein noob ;)

mfg

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.