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
:
Verschoben durch Admin
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.