GCC und ATMega 8 mit Display

Gast #2838399
Lesenswert?

Entweder (unsauber) du nimmst #ifndef und #endif noch weg, oder (sauber) 
du suchst die Einstellung -DF_CPU=16000000 und änderst die.

Keine Ahnung was du mit "Studio  4.19" meinst, das sollte sich aber in 
dem Makefile oder der Projektdatei/Einstellungen finden lassen.
Gast #2839891
Lesenswert?

Ab und zu funktioniert die Elektrik meines Autos nicht. Ich hab nen 
VW-Golf. Don Karlo, woran liegt das?

Du siehst, solche Fragestellungen führen ins Nichts.

Naja. Dann hast du irgendwas im Code das den Timer über den Port 
beeinflusst. Welchen Timer hast du denn überhaupt verwendet? Und an 
welcher Portleitung hängt D7? Poste mal den Code.
#2840233
Lesenswert?

Kupferwurm schrieb:

> Naja. Dann hast du irgendwas im Code das den Timer über den Port
> beeinflusst.

In dem Fall wahrscheinlich nicht.

Wenn ich mal diesen, seinen Thread, zugrunde lege
Beitrag "lcd.c - Testprogramm - Wie kompiliere ich das richtig?"
dann hat es Bernhard M. schon getroffen.

Seine LCD Routinen werten das Busy Flag aus und somit wartet das 
lcd_init bis zum St. Nimmerleinstag, bis ein nicht vorhandenes LCD dann 
endlich "ready" wird und es mit der Initialisierung des Programms dann 
endlich weitergeht und irgendwann dann der Timer initialisiert wird, die 
Interrupts freigegeben und die Hauptschleife zu arbeiten anfängt.

Ist halt immer ein Kreuz, wenn jemand Code benutzt, ohne ihn wenigstens 
rudimentär in den Grundzügen zu verstehen.
Gast #2840275
Lesenswert?

Das Problem lässt sich lösen indem du nicht das Busy-Flag abfragst, 
sondern pauschal wartest. Ich habe beide Versionen einmal ausprobiert. 
Die Zeitersparnis mit Busy-Flag ist wirklich klein, so 5us. Das sind 
selbst @16MHz nur 80 Takte. Also in den meisten Fällen warte ich 
pauschal, da es meist sowieso in einem "Zeit spielt keine Rolle" 
-abschnitt im Programm abgearbeitet wird.



Ingo

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