Lcd-Ansteuerung aus Tutorial funktioniert nicht!

Gast #657842
Lesenswert?
• ▲
▼
Hallo allerseits,

habe endlichmal angefangen mich in die Welt der Mikros hervor zu wagen.
Nun hänge ich an der Stelle des Tutorials fest wo ein Text auf dem 
Display ausgegeben werden soll.

Bei mir kommen immer wieder die errors call k: Unsupported instruction 
on ATmega8 bei laden der lcd routines.

Bin sehr dankbar über jede Hilfe !!!

Gruß
Gast #657851
Lesenswert?
• ▲
▼
Danke für die schnelle Antwort.
Da ich aber die codes aus dem tutorial 1:1 übernommen und auch noch mal 
nachgeprüft habe kann ich das ausschliessen.

Hier nochmal der ganze error beim Build:

....\lcd-routines.asm(163)bzw.(243): error: call k: Unsupported 
instruction set on ATmega8
#657859
Lesenswert?
• ▲
▼
Nein, da ist anscheinend tatsächlich ein Fehler im Code zum Tutorial! An 
einer Stelle steht "call lcd_data". Also wie oben schon gesagt: ersetze 
call durch rcall und es sollte laufen, falls nicht noch mehr Fehler drin 
sind.

EDIT:
Korrigiere: Es steht an ZWEI Stellen call statt rcall.

Übrigens: Es macht i.d.R. kaum Sinn, eine Fehlermeldung ohne den 
dazugehörigen Code zu posten...
#657871
Lesenswert?
• ▲
▼
Klar, wenn Du das Ding für einen ATMega16 assemblierst, dann geht das 
Assemblieren, weil der Mega16 den call-Befehl hat. Aber der Code läuft 
nicht auf dem Mega8!!!

Der Mega8-16PU ist ein Mega8 und der Mega8 hat (wie oben erwähnt) keinen 
call-Befehl! Code, der für einen Mega16 assembliert wurde, läuft unter 
Garantie nicht auf dem Mega8!

Du musst die calls ersetzen, sonst gar nichts. Ich hoffe, das ist jetzt 
klar...
#657880
Lesenswert?
• ▲
▼
B.K. wrote:
> Trotzdem versteh ich es nicht da es sich ja um einen ATmega8 handelt.
EBEN! Der Mega8 hat keinen call-Befehl, sondern nur einen rcall. Deshalb 
musst Du, um den Code auf einem Mega8 zum laufen zu bringen, die beiden 
vergessenen "r"s im Code hinzufügen! Ein Mega16 ist was völlig anderes!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren