Anfängerprogramm

Gast #4052644
Lesenswert?

Guten Abend,

als Neueinsteiger habe ich wohl, wie viele vor mir, ein Uhrenprogramm
für ein LCD mit dem HD 44780 Controller geschrieben.

Eigentlich funktioniert alles so wie es soll, nur die Einstellroutine
scheint mir zu langsam. Wahrscheinlich habe ich diese nicht richtig
implementiert.

Es wäre für mich sehr hilfreich, wenn erfahrene Programmierer sich 
einmal
meinen Code anschauen und entsprechend für mich Hinweise für eine
optimierte Stellroutine geben würden.

Vielen Dank im Voraus

Peter
Angehängte Dateien:
#4052793
Lesenswert?

Hallo Peter,

ich behaupte mal die meisten Nutzer hier programmieren Mikrocontroller 
in C, nicht zuletzt weil sich Fehler leichter erkennen lassen, bzw. sich 
meist gar nicht so schnell einschleichen, wenn das Programm 
umfangreicher wird. Wahrscheinlich wird sich keiner die Mühe machen, 
deinen doch recht umfangreichen Assembler-Code durchzuarbeiten, um einen 
Fehler zu finden (ich nehme mich auch nicht aus, sorry).
Ich würde dir raten, dich eingehender mit C auseinanderzusetzen, so 
fällt auch der Einstieg in die µC-Welt denke ich leichter (meine 
Meinung). Sicherlich ist es hilfreich, über Assembler Bescheid zu 
wissen, so hab ich auch angefangen. Für ernstzunehmende Projekte, die 
über das Blinken lassen von LEDs hinaus gehen, hat man mit höheren 
Sprachen schneller Erfolgserlebnisse...

Viele Grüße,
Christoph
(Firma: CIA) #4052812
Lesenswert?

Was heißt zu langsam?

Du benutzt in deiner Funktion ein hartes Delay. Zählst 255*255. solche 
Verzögerungen sind schlechter Stil. Lass dich nicht entmutigen Assembler 
zu lernen. Die effektivsten Programme hinsichtlich Performance und Code 
größe schreibt man im mix aus assembler und C. Allerdings eignet man 
sich vorher die grundlegenden Prinzipien der I/O Behandlung und der 
Entprellung von Tastern an. Das geht am einfachsten in C. Wenn man es 
dann verstanden hat, also nicht einfach hier gepostete Lösungen in sein 
Projekt einbaut, macht man sich daran das ganze in Assembler umzusetzen 
und zu optimieren. Und was genau so wichtig ist bei der Programmierung, 
gerade bei MK ist den Umgang mit dem Debuger oder Siumlator zu lernen. 
Gerade wenn man in Assembler programmiert.

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