www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehler = Register Setzen?


Autor: SDFlight (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

: Verschoben durch Admin
Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: SDFlight (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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..

Autor: SDFlight (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: SDFlight (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: SDFlight (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fehler lokalisiert:
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.