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
ich habe noch einen Screenshot von avrdude gui gemacht. könnte ja auch an den einstellungen dort liegen. lg spyder
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.
Liegts vielleicht an der "-n" Option für avrdude? Die bewirkt das avrdude erstmal garnix macht...
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
???
@Spyder: Du solltest Dir dringend mal den Wikiartikel über Bildformate reinziehn.
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
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
1 | 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
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>
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.