www.mikrocontroller.net

Forum: Compiler & IDEs Fehler bei tvText von benryves.com


Autor: Kristian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,
ich wollte anfangen mit einem Atmega 16 ein TV Ausgang zu betreiben, und 
hab mir dafür folgenden Sourcecode geschnappt:
http://www.benryves.com/projects/tvtext
Alles in allem eine super Sache, nur kann ich mein Projekt mich 
kompilieren, die mitgelieferte driver.S sagt mir bei Zeile 70:
 sbi _SFR_IO_ADDR(TIFR1), OCF1A 

folgenden Fehler:
avr-gcc  -mmcu=atmega16 -mmcu=atmega16 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT driver.o -MF dep/driver.o.d  -x assembler-with-cpp -Wa,-gdwarf2 -c  ../driver.S
../driver.S: Assembler messages:
../driver.S:70: Error: constant value required
../driver.S:70: Error: number must be positive and less than 32
make: *** [driver.o] Error 1
Build failed with 1 errors and 0 warnings...

Ich versteh dummerweise kein bisschen ASM, hab schon 2 Stunden versucht 
den Fehler zu finden und durch irgendwas zu ersetzten, mehr try'n'error 
als durch Wissen.

Kann mir wer sagen wo der Fehler liegt?
Ich hab es auch schon auf Anraten eines Freundes mit einer alten Version 
von AVR Studio versucht, aber es will einfach nicht.

Mit freundlichem Gruß,
Kristian

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ATMega16 hat kein TIFR1, nur TIFR. Wenn du das geändert hast
bleibt die zweite Fehlermeldung aber noch da. SBI geht bei TIFR
nicht. Das Bit OCF1A musst du per Oder im Register setzen.

Wieso nimmst du keinen ATMega168?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

>The AVR needs to be run at 20MHz,

ATMEga16 kann nur 16MHz.

Autor: Kristian G. (kristian_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte gerade in meinem Sortiment nur noch Atmega 16er und ein paar 
Tinys.
Irgendwie hab ich gedacht der würde auch mit 20 MHz laufen.

Hab mir nun zwei Atmega168 bestellt und es schon mal so kompiliert, zum 
testen. Geht :-)

Danke euch vielmals.

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.