www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fertige C-Source mit welchem Compiler erstellt?


Autor: Sebastian Schmidt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo erstmal,

ich habe auf den Seiten der Cornell Universität ein Projekt gefunden
und habe mich darangemacht dies nachzubauen. Den angefügten Source-Code
habe ich ebenfalls von dieser Seite geladen. Nun habe ich schon einige
C-Compiler ausprobiert, aber ich komme einfach nicht darauf mit welchen
dieser Code geschrieben wurde und für mich sind es einfach zu viele
Fehlermeldungen, die beim Compilieren auftreten, als dass ich sie
korrigieren könnte. Da der Code aber fehlerfrei sein müßte, da das
Projekt ja mit diesem Code verwirklicht worden ist, wollte ich nun
fragen, ob nicht jemand von euch mir einen Tip geben könnte oder mir
die  Source compilieren könnte?

freundlichst Sebastian

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also C ist das auf jeden Fall nicht ?
Pascal ???? C# ?????
Aber C nicht.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh. Entschuldige
Das ist doch C.
Ich habe das:
#define begin {
#define end }
übersehen.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ersetze begin durch {
und end durch }
und das Programm sollte laufen.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Je nach Compiler müssen noch die Interrupt-Routinen angepasst werden. Da
pflegt jeder seine eigene inkompatible Definitionstechnik.

Autor: Sebastian Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der icc-Compiler versteht die begin...end Anweisung, da sie ja am Beginn
definiert wurden. Das Problem besteht eher in der Delay.h, diese ist bei
icc nicht verfügbar bei avr-gcc ist diese zwar verfügbar, aber dieser
stört sich an sonstigen Dingen. Woraus ich schließe, dass es nicht mit
avr-gcc geschrieben wurde. Wie komme ich jetzt an die Delay.h? An der
Uni bekomme ich wahrscheinlich auch keine Auskünfte mehr, da dieses
Projekt schon 3 Jahre alt ist.

Danke für die Antworten bisher!

freundlichst Sebastian

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Code duerfte fuer Codevision AVR geschrieben sein (Registerzugriffe,
ISR-Deklaration, Inline-Assembler). Delay-Funktionen fuer avr-gcc gibt
es in der avr-libc (max. Wartezeit in Abh. von Taktfreq. beachten,
evtl. mehrfach mit kurzen Wartezeiten aufrufen). Den Rest auf avr-gcc
anzupassen, ist auch kein Hexenwerk:
- interrupt[...]... -> SIGNAL(...)
- Reg.Bit= -> Reg |= (.. bzw. Reg&= ~(..
- #asm -> asm volatile("...

Martin

Autor: Sebastian Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, mthomas.

Ich werde es dann mal CV-AVR versuchen mal sehen ob die Demo ausreicht,
ansonsten versuche ich den Code anzupassen,
danke nochmal für deinen Tip.

freundlichst Sebastian

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.