Anfängerproblem: mega16 & lcd (Bascom)

Gast #840640
Hallo,
wollte gerade probieren ein LCD über Atmega16 mit Bascom zu 
programiieren. Folgender Code läuft im Simulator bei mir nicht.
Der Simulator bleibt in der 1. Zeile stehen.
Kommentiere ich die Zeilen die mit dem LCD zu tun haben aus läuft er 
einwandfrei durch und schaltet Portd.0 frei.
Ideen?
Danke & Gruß
Matthias

$regfile "m16def.dat"
$crystal = 1600000
Config Portc = Output
Config Portd = Output
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , 
Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config Lcd = 20 * 2
Config Lcdbus = 4
Portd.0 = 1
Cls
Lcd "Hallo"
Stop
Persönliche Seite #840659
Hier gibt es keine Probleme beim Simulieren. Lediglich einen 
Syntaxfehler mit deinem Code. Ich schätze der Fehler kommt durch 
Copy&Paste vom BASCOM ins Forum durch den Umbruch der Zeile 5. Schade, 
dass es hier in der Forumsoftware keinen Zeilennummern-Anzeigemodus 
gibt.
1
$regfile "m16def.dat"
2
$crystal = 1600000
3
Config Portc = Output
4
Config Portd = Output
5
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
6
Config Lcd = 20 * 2
7
Config Lcdbus = 4
8
Portd.0 = 1
9
Cls
10
Lcd "Hallo"
11
Stop

Bei der Simulation an sich, kann man langsame Simulation leicht mit 
Hängenbleiben verwechseln. Die Initialisierung des simulierten AVRs und 
des LCDs brauchen etwas Zeit bis sie ausgeführt sind (auf meiner Kiste 
20-30s von Zeile 1 bis Zeile 8). Man kann das in der Statuszeile des 
Simulators am Zustand Running bzw. Pause erkennen.

In der folgenden Zeile ist sicher ein Schreibfehler

$crystal = 1600000

1,6 MHz sind mir noch nicht bei AVRs begegnet. 16 MHz schon ;-)
Gast #840671
danke, war wohl zu ungeduldig (dauert bei mir derziet scheinbar 2 
minuten).
die simulation des codes braucht also eine ewigkeit.

Demnach kann ich die LCD simulation wohl bei mir vergessen oder werde 
lange warten müssen. Werde mir das dann vielleicht direkt hardwareseitig 
ansehen.

Vielen Dank!
Thread closed
Gast #840780
Beim Simulieren solltes du nach der Deklaration des MC den
Befehl  " $sim"  eingeben ,es werden dann Wartezeiten wie wait usw
übersprungen.
Teste es einmal und setzte dein Quarz auf "16000000",für 16 Mhz.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.