www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Assembler in C einbinden


Autor: bluemole (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich möchte meine Assemblerfunktionen in C einbinden. Aber es fängt mit
den Problemen schon beim setzen der Register an.

#define temp r30
.....

#asm
    ldi   temp,0xFF     ;Zeile 20
    out      TCNT0,temp       ;Zeile 30
#endasm

Ich definiere mir das Register temp. Dann weiter unten im Code schalte
ich auf Assembler um.
Compelieren tut der CodeVisionAVR einwandfrei. Allerdings ist das
erzeugte Assembler File mit zwei Fehlern behaftet.
In Zeile 20 heißt es: Illegal argument type or count:-( ???
In Zeile 30 heißt es: Undefined variable referenced :-( ???
Obwohl TCNT0 in der mega8.h drin steht. Ich hab' keine Ideen mehr...
Vorallem weil der vom CodeVisionAVR erzeugt AssemblerCode:


/*#asm

    in   r30,mcucr
    cbr  r30,__sm_mask
    sbr  r30,__se_bit | __sm_adc_noise_red
    out  mcucr,r30

    cbr  r30,__se_bit
    out  mcucr,r30
#endasm

funktioniert.
Sobald ich aber z.B. nur mcucr gegen ein andere Definition austausche
geht's nicht mehr

Kann mir bitte jemand weiterhelfen...
Danke

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich würd mal tippen, dass sich das define nich mit dem asm code
versteht. sieht so aus als würde die temp definition nur für den c code
gelten, nicht für den assembler part. definier das doch mal im asm teil
über eine asm direktive

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.