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
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.
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
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..
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ß
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
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.
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
Eine eigene Frage?
Dieser Thread ist über 16 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.