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


von Kristian (Gast)


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:
1
 sbi _SFR_IO_ADDR(TIFR1), OCF1A

folgenden Fehler:
1
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
2
../driver.S: Assembler messages:
3
../driver.S:70: Error: constant value required
4
../driver.S:70: Error: number must be positive and less than 32
5
make: *** [driver.o] Error 1
6
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

von holger (Gast)


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?

von holger (Gast)


Lesenswert?

Nachtrag:

>The AVR needs to be run at 20MHz,

ATMEga16 kann nur 16MHz.

von Kristian G. (kristian_g)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.