Fehler = Register Setzen?

Gast #1809407
Lesenswert?

Moin Moin ihr Spezialisten

Beim Compilieren bekomme ich folgenden Fehler!

Error : 222   Line :   583   Illegal character [expected (, got '' [N]] 
, in File : E:\STUDIUMSDATEN\PROJEKTARBEIT\MICROCONTROLLER\NETZTEIL.BAS
Error : 1     Line :   583   Unknown statement [.EQU not found for:DDRE] 
, in File : E:\STUDIUMSDATEN\PROJEKTARBEIT\MICROCONTROLLER\NETZTEIL.BAS
Error : 222   Line :   583   Illegal character [expected (, got '' [N]] 
, in File : E:\STUDIUMSDATEN\PROJEKTARBEIT\MICROCONTROLLER\NETZTEIL.BAS
Error : 1     Line :   583   Unknown statement [.EQU not found for:PINE] 
, in File : E:\STUDIUMSDATEN\PROJEKTARBEIT\MICROCONTROLLER\NETZTEIL.BAS

Nun habe ich schon herausgefunden, dass es evtl sein könnte, dass das 
Programm das Register bzw den Port E nutzen will, denn es im ATMEGA168 
aber nicht gibt! Kann das sein? Wenn ja, wie kann ich das ausschließen.

Viele Grüße und noch ein schönes Wochenende
SDFlight
Gast #1809417
Lesenswert?

Wie wärs mit etwas mehr Quellcode.. Glaskugel.. Nebel.. nix zu sehen..

Ansonsten: Ja, einen Port E gibbet nicht beim m168. Ausschließen? Die 
Funktionalität woanders hinlegen, z.B. auf einen existierenden und 
unbenutzten Pin der Ports B, C oder D.
Gast #1809461
Lesenswert?

Ich habe den gesamten Quelltext angehängt, bis auf den o.g. Fehler 
compiliert alles problemlos. Die Ports sind alle belegt und es scheint 
mir einfach ein internes Speicherproblem zu sein, bei dem der uC 
versucht einen internen Speicherbereich zu nutzen, der nicht existiert.

Gruß´ausm Norden
Angehängte Dateien:
Gast #1809515
Lesenswert?

So, im dritten Anlauf [1] läuft sogar Bascom.. Mir dünkt Du hast was 
beim LCD was verbuxelt - der KS108 ist afaik ein GLCD, Deine 
Konfiguration mit '40x4' liest sich aber mehr wie ein Text-LCD. Nochmals 
überprüfen.

Achja falls grad mal ein Mod mitliest: Kann man den Fred verschieben? 
Codesammlung passt ja nu nich wirklich.

[1] 1. Versuch: $dll fehlt. 2. Versuch: SIGSEGV beim Start..
Gast #1809571
Lesenswert?

Stimmt das Display ist ein 4*40LCD Text Display. Da habe ich wohl ein 
falsche Libary File angegeben, dass muss ich wohl ändern. aber auch mit 
der Standard lib "mcs.lib" ebenso bei der "LCD4.lib" kommt wieder der 
besagte Fehler.

Gruß
Gast #1809655
Lesenswert?

So sachte weiß ich echt nicht mehr weiter. Habe jetzt alles möglich 
probiert,
habe das Display auf 2fach Enable umgestellt und den Programmtext 
angepasst
das lib in "lcd4e2.lbx" geändert,
Bascom neu installiert

immer kommt dieser bescheidene Fehler...
Vielleicht hat ja einer von euch noch eine Idee oder bekommt das ganze 
compiliert.

Viele Grüße
ein Verzweifelter
Gast #1809771
Lesenswert?

Ich habe die SPIout Befehle als Kommentar gekennzeichnet und schon 
funktioniert es.
Somit weiß ich zumindest mal wo ich suche muss.

Nach erneutem Durchsehen, stellte sich das ganze als Variablensalat 
heraus, ergo Byte und Integer Variablen wurden völlig vermischt, da SPI 
aber keine Integervariablen verarbeiten kann, lief das Programm nicht. 
Jetzt muss ich nur noch sehen ob die Sache mit den ADC so finktioniert, 
oder der größere Variablen als Byte benötigt. Der überarbeitete Text 
hängt anbei, für diejenigen die es interessiert.

Danke für eure Mühen.
Angehängte Dateien:
Gast #1810169
Lesenswert?

Fehler lokalisiert:
1
Config Spi = Soft , Din = None , Dout = Portc.3 , Ss = None , Clock = Portb.6

Laut Doku [1] ist 'None' für Din nicht zulässig. Setze einen 
vorhandenen, unbenutzten Pin ein und es compiliert.

Für mutige Experimentierfreunde: Was passiert, wenn man einen physisch 
abwesenden, aber speichermäßig anwesenden Pin einstetzt, wie z.B. 
PORTC.7? Theoretisch müsste er mit Soft-SPI einfach(tm) immer eine '0' 
lesen.. wer probierts aus? :-)

HF

[1] http://avrhelp.mcselec.com/index.html?config_spi.htm

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