mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Nicht nachvollziehbares Verhalten beim Programmieren


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hab folgendes Problem:

Wenn ich ein Programm für meinen ATmega8 mit Programmers Notepad auf den 
Controller lade, dann funktioniert es nicht ordnungsgemäß. Ich nehme 
dann die Stromversorgung von meinem Testboard, warte einige Sekunden, um 
sie dann wieder anzuschließen aber das Programm funktioniert trotzdem 
nicht von Anfang an. Genauer gesagt geht das in diesem Fall das LCD 
nicht.
Mache ich das gleiche mit Bascom - also ein Programm in Bascom auf den 
µC laden- dann funktioniert alles wunderbar. Wenn ich nun, nachdem das 
Bascom Prog oben mit programmers notepad ein Prog drauflade, 
funktioniert das Programm einwandfrei, selbst nachdem ich die Verbindung 
zum PC getrennt habe. Mache ich jedoch einen Reset (Stromversorgung weg- 
und wieder zuschalten), dann geht das Prog wieder nicht ordnungsgemäß. 
Es scheint also zu funktionieren, wenn man vorher mit Bascom etwas 
rauflädt und dazwischen keinen Reset durchführt. Das kapiere ich nicht!

Was mache ich falsch?

Ich weis nicht, liegt das vielleicht am Makefile oder schreibt Bascom 
die Fuses beim Programmieren, was dann programmers notepad nicht macht 
oder fliegt da reine zufällig immer ein Neutrino durch meinen ATmega und 
kippt die Bits?


mfg spyder

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

Bewertung
0 lesenswert
nicht lesenswert
ich habe noch einen Screenshot von avrdude gui gemacht. könnte ja auch 
an den einstellungen dort liegen.

lg spyder

Autor: Stefan N. (laser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat zwar nichts mit deinem Problem zu tun, aber ich würde gerne wissen, 
wie du es geschafft hast, dass dein Screenshot von unten nach oben 
aufgebaut wird und nicht von oben nach unten, wie normalerweise.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Liegts vielleicht an der "-n" Option für avrdude?
Die bewirkt das avrdude erstmal garnix macht...

Autor: Dietmar E (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn sich das Progamm nach dem Soft-Reset per Programmer anders verhält, 
als nach "Reset" per Power-Schalter, dann ist das vieleicht ein Problem 
mit der Stromversorgung ("slow rising power"). Mach mal, bevor das LCD 
initialisiert wird, eine Pause von 500ms rein. Weiss nicht, wie man das 
in BASIC macht.

> Wenn ich nun, nachdem das Bascom Prog oben mit programmers notepad ein Prog 
drauflade

???

Autor: Falks Vertretung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Spyder:

Du solltest Dir dringend mal den Wikiartikel über Bildformate reinziehn.

Autor: spyder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wartezeiten hab ich für das LCD schon eingebaut aber das ändert nix. 
meiner meinung nach müsste da wirklich an den einstellungen in avrdude 
was falsch sein. der mikrocontroller sollte ja auch ohne lpt-verbindung 
zum pc funktionieren. zum bild kann ich nur sagen, dass ich einen 
screenshot als .bmp abgespeichert hatte. aber hier im forum kann man das 
nicht raufladen, also hab ichs kurzerhand in .jpg umbenannt. ich weis 
nicht sehr sauber aber wollte mir das konvertieren ersparen.

lg spyder

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

Bewertung
0 lesenswert
nicht lesenswert
Gibts denn hier keinen der mir helfen kann??? Ich stell jetzt einmal den 
Abschnitt des LCDs im C-Programm und ein Testprogramm in Bascom online. 
In der main-Methode mache ich am Anfang
lcd_init();lcd_clear();DDRB |= 0x3F;delay_ms (50);lcd_clear();

Das Bascom-Prog funktioniert nach jedem mal Spannungsversorgung ein- und 
ausstecken. Beim C-Prog geht das LCD nicht, wenn man hier die 
Versorgungsspannung weg- und wieder hingibt. Liegts an der 
Initialisierung vom LCD??
Ich komme einfach nicht drauf.

lg spyder

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

Bewertung
0 lesenswert
nicht lesenswert
Das funktionierende Bascom-Programm.

Autor: Lötkünstler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss im C-Programm nicht eine MAIN-Procedure stehen?

Hab schon lange nicht mehr in C programmiert daher nur ein Schuß ins 
Blaue.

Lötkünstler

<Mit der Lizenz zum löten>

Autor: spyder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja schon. Aber ich hab hier nur die Datei, wo die Funktionen für das LCD 
ausprogrammiert sind online gestellt. Die main funktion ist nicht 
weiters spektakulär, deshalb habe ich sie gleich weggelassen. für mich 
ist wichtig, ob die initialisierung des LCDs richtig ist.

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.