www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Seltsamer Fehler?! Belichtungsgerät


Autor: michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Hab mein Programm für mein Belichtungsgerät fast fertig.
Allerdings schreibt meine LCD Anzeige an einer stelle des Programms
wirres Zeug.
Wenn der Timer mit Compare Match läuft und dann kurz ausgeschaltet wird
wegen einer Unterbrechung tritt der fehler auf.
Am besten ihr schaut mal selber im Programm. In der Funktion
"halt()"
schreibt er "Stop!" und "Stop! Deckel!" nicht vernümpftig. Ich
denke mal er schreibt stattdessen Zeichen aus dem DDR Ram der LCD,
sieht zumindest nicht aus wie ASCII.
mfg

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

Bewertung
0 lesenswert
nicht lesenswert
Datei vergessen :o)

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dein anhängsel ist defekt :-(

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö, WinRAR 3.20 findet keine Fehler.

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

Bewertung
0 lesenswert
nicht lesenswert
Für alle die mit RAR nichts anfangen können.

Autor: michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt die Funktion "halt()" direkt unter start_count() (wo die
Funk. aufgerufen wird) geschrieben, jetzt geht es?! Allerdings hab ich
keine Ahnung warum?! kann es daran liegen das ich uint8_t benutzt hab?
mgh

Autor: michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist mein Thread so langweilig?
Ich bin langsam am durchdrehen! Irgendwie... keine Ahnung... Das es
eben funktioniert hat war nur zufall. Hab es um eine Funktion
erweitert, und nun der selbe Scheiss!
Irgendwie schreibt er an einer Stelle nicht das was er soll auf das
Display! Aber dann auch immer an der selben stelle, bis ich wieder
irdenwelche Funktionen vertausche dann ist der Fehler wo anders!
Ich weiß absolut nicht mehr woran das liegen kann. Weiß auch nicht so
recht wie die LCD Routinen funktionieren, da steigt ein anfänger nicht
durch!
Hat jemand ne Idee wie ich weiter verfahren kann?
mfg michi

Autor: Malte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst war der Flash voll, jetzt ist's der RAM...
Sorg dafür dass deine Texte nur bei bedarf in den Ram kopiert werden.
http://www.mikrocontroller.net/wiki/AVR-GCC-Tutori...
PS: Compilerwarnungen sollte man auch nicht ignorieren :-)

Autor: michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal du deine Freizeit für mich opferst.
Nur weiß ich nicht was du meinst?! Der Text wird doch aus dem
Programmspeicher gelesen oder nicht? Wie gesagt hab keine Ahnung wie
die LCD Routinen.
Warnungen ignoriere ich im regelfall auch nicht. Nur wenn ich nicht
weiß warum sie auftreten. Was solls funktioniert auch mit warnungen.
Ausserdem haben sie nichts mit dem eigendlichen Problem gemeinsam, nehm
ich mal stark an.

Ich glaube langsam C mit avrggc ist nur was für Informatiker 8.
Semesters. Und nichts für ein kleinen dummen Industrieelektroniker der
sich im Erstensemester mit Ladungsverschiebung rumärgert!
mfg

Autor: Malte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GCC hat die Angewohnheit beim Programmstart erstmal alle Variablen in
den RAM zu kopieren (weils C-Standart sein soll).

Du ersetzt:
lcd_puts("Platine Fertig!");
durch:
char StringImFlash[] PROGMEM = "Platine Fertig"; // im "Flash"
lcd_puts_p(StringImFlash);

PS: Mit einem Informatik Studium werde ich erst anfangen, wenn ich den
Zivildienst hinter mir habe.

Autor: michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, Malte
Ich habe gemacht was du geschrieben hast! Jetzt wird kein Satz mehr
richtig angezeigt. Es erscheinen immer wieder andere Zeichen.
Hab mal versucht einen Zeiger an lcd_puts_p zu übergeben
[lcd_puts_p(&balblubb)] und siehe da alles läuft richtig. Aber diese
Fehlermeldung erscheind dann:

main.c:254: warning: passing arg 1 of `lcd_puts_p' from incompatible
pointer type

mfg michi

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.