Forum: Mikrocontroller und Digitale Elektronik Programm läuft in schleife?


von Viktor T. (viktort)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte gerne ein gerät ansteuern mit hilfe eines µC Atmega8, wo ich 
den Schaltzustand abfragen kann, dafür wolte ich eine kleines menü am 
anfang anzeigen.

Ich habe ein beispiel programm von myAVR gefunden, siehe Anhang.

Doch bei dem versuch das menü anzuzeigen, bricht er nach einer gewiesen 
zeit ab und fängt von vorna an anzuzeigen. siehe Unten.
Warum?


==========================================
                                          Faseroptischesschaltmodul
                                                                   Viktor 
Tschetwerik------------------------------------------
                                                Kommandos: zwe£
                                                               ==========================================
                         Faseroptischesschaltmodul
                                                  Viktor 
Tschetwerik------------------------------------------
                               Kommandos: zwe¾
                                              ==========================================
        Faseroptischesschaltmodul
                                 Viktor 
Tschetwerik------------------------------------------
              Kommandos: zwe¾
                             ==========================================

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Crasht das Programm auch, wenn du deutlich kürzere Strings benutzt oder 
wenn du die Strings nur im Flash hälst? 
(http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Vereinfachung_f.C3.BCr_Zeichenketten_.28Strings.29_im_Flash)

von Viktor T. (viktort)


Lesenswert?

P.S.

Wenn ich die BAUD geschwindichkeit verkleinere werden auch weniger 
zeichen angezeigt.

von Viktor T. (viktort)


Lesenswert?

Ich ahbe auch Kürzere Strings versucht, das selbe spiel.

wie kann ich sie im Flash halten? tut mir leid für die dumme frage :-(

von Karl H. (kbuchegg)


Lesenswert?

Viktor Tschetwerik schrieb:
> Ich ahbe auch Kürzere Strings versucht, das selbe spiel.

Wieviel kürzer?

Was sagst die Speicherstatistik am Ende des Compilier/Link Vorgangs?

> wie kann ich sie im Flash halten? tut mir leid für die dumme frage :-(

Siehe AVR-GCC-Tutorial

von Viktor T. (viktort)


Lesenswert?

Flash 1674 Bytes
und RAM 1 Byte

von Klaus B. (Gast)


Lesenswert?

Viktor Tschetwerik schrieb:
> Doch bei dem versuch das menü anzuzeigen, bricht er nach einer gewiesen
> zeit ab und fängt von vorna an anzuzeigen. siehe Unten.
> Warum?

Hallo,

wenn die Zeit, nachdem dein Programm  abbricht, konstant erscheint, 
würde ich einmal nachsehen, ob du möglicherweise einen Watchdog-Reset 
o.ä.  bekommst ...

Gruß

von ozo (Gast)


Lesenswert?

Du hast ein recht kreatives while(false) in der main loop...

von Viktor T. (viktort)


Lesenswert?

wie kann ich nachsehen ob  der Watchdog Reset macht? :-(

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Viktor Tschetwerik schrieb:
> wie kann ich nachsehen ob  der Watchdog Reset macht? :-(
Hast du das Datenblatt schon mal angesehen, oder sollen das Andere für 
dich lesen?

Oder die Sache mit Google:
http://lmgtfy.com/?q=atmega8+watchdog+reset+flag

Und dann findest du schnell (3. Link) heraus, dass es ein WDRF in einem 
MCUCSR gibt...

von Viktor T. (Gast)


Lesenswert?

Es geht auch viel einfacher bei manchen, man schaltet einfach über die 
High Fuse Bits den Watchdog aus.

*Vielen dank noch mal an alle die mir weiter geholfen haben.*

Und wegen der while schleife sie sollte (true) sein hab bei der Fehler 
suche vergessen wider rein zuschreiben.

Und der fehler das er mir versetzt angezeigt hat, muste ich (\n \r) 
eingeben anstat nur (\n)

mfg
Viktor T.

von Klaus W. (mfgkw)


Lesenswert?

... und beim nächsten Mal einen C-Quelltext vielleicht
als .c einfügen, dann kann man ihn auch schöner lesen.
(Dagegen ist .txt nur sinnvoll bei Quelltexten für den
TXT-Compiler :-)

von Viktor T. (Gast)


Lesenswert?

Weis ich bescheid! :-)
Danke!

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
Noch kein Account? Hier anmelden.