Moinz Ich habe die "ehre" bekommen, für ein Gravitationsmessinstrument einen Atmega8-16PU zu programmieren. Der Atmega8 muss alle Ausgänge wild und "Zufällig" durcheinander schalten. Messen tut er übrigens nichts. Das müssen die Kinder die damit spielen aber nicht wissen :P Zu meinem Problem: Im AVR Studio geht alles wie es soll, nach gut 3 Stunden Simulieren...bin ich recht zuversichtlich. Nach über 2 Stunden auf der Hardeware kann ich aber auch sagen dass nichts funktioniert. Ich lade das richtige Hex-File runter, getacktet wird vom internen 4 Mhz Oszi, der Atmega8 ist nach meiner auffassung richtig verschaltet... Ich habe schon einige Test Programme geschrieben. Die Ports funktionieren eigentlich richtig, zumindest so lange wie ich einfach ein Muster auf die Ports lege und dann in einen Loop gehe um nichts zu tun. Auch wenn ich einen Loop mache der mir immer alle Ausgänge ein und ausschaltet geht alles gut. Sobald ich jedoch ein koplizierteres Programm lade, mit timmer, div. akrobatik im ram, blinkt immer das selbe verdammte LED an Port D2... Ich habe jetzt unabhängig voneinander 2 Programme geschriben...alle LEDs dunkel ausser das an D2. Ich weiss nicht mehr wo witer suchen...im AVR Studio geht alles wunderbar :'( Was kann noch falsch eingestellt sein? Mir gehen die Ideen aus.... Danke schon mal für jeden Tipp....
Johny_D94 schrieb: > Ich habe jetzt unabhängig voneinander 2 Programme geschriben...alle LEDs > dunkel ausser das an D2. Ich weiss nicht mehr wo witer suchen...im AVR > Studio geht alles wunderbar :'( > > Was kann noch falsch eingestellt sein? Ein wesentlicher UNterschied zwischen Simulator und Realität ist, dass dein µC in Wirklichkeit sauschnell ist. Was im Simulator als gemütliches Blinken sich präsentiert (überhaupt wenn du in Einzelschritten durchgehst), geht in der Realität pfeilschnell. Ansonnsten. Zurück an den Start und Programm noch einmal neu aufbauen. Aber diesmal gehst du so schnell es geht auf die reale Hardware und nicht auf den Simulator. Denn du willst in Schritten entwickeln. Kleine Schritte und die sofort auf der Hardware testen. Wenn dann was nicht geht, ist die Chance, dass dein letzter kleiner Schritt daran Schuld ist recht hoch. Und dann ist auch der Bereich den du auf Fehler abklappern musst recht klein (weil ja die Veränderung zur letzten funktionierenden Version klein war). Nicht so wie jetzt, wo du mit einem Monsterprogramm da stehst und nicht weißt, wo du mit Fehlersuche anfangen sollst. Lehrgeld ... müssen alle 'zahlen'.
>Was kann noch falsch eingestellt sein? Falsche HEX Datei gebrannt. AVR Studio stellt die nicht automatisch ein.
Leider nein schon 2 mal kontrolliert, habe zig versuche mit dem hex file gemacht aber auch einige direkt aus dem Simulator..beides Fehlanzeige..und das erase vorher ist eingeschaltet
Sorry AW von Karl Heinz Buchegger übersehen Das mit dem gemütlichen blinken im simulator und realität..... 1.) wozu hat man den Cycel-counter und Zeit anzeige? Break-Point an die stelle wo aktualisiert wird, laufen lassen, Zeit aufschreiben, Laufen lassen, Zeit aufschreiben u.s.w. 2.) wenn es zu schnell währe, würden die leds ja leicht leuchten. ist aber nicht der fall. Mit dem oszyloskop aufzeichen (wenn schon ein schönes Digitales 4 Kanal gerade so da steht) hat gezeigt dass immer alle 0 sind...auser eben dieser doofe Portd2 -.-
Kein Problem. Ich weiß nicht, was du alles getestet hast und was nicht bzw. wie du im Simulator testest. Ich kann dir nur sagen, was erfahrungsgemäss die meisten Ursachen sind. Im übrigen hab ich alles zu dem Thema gesagt. Du kannst gerne noch 2 Tage mit Fehlersuche verbraten. Oder aber nochmal anfangen und diesmal schrttweise mit Prgorammentwicklung und der echten Hardware arbeiten.
ACh ja
> der Atmega8 ist nach meiner auffassung richtig verschaltet...
... das haben schon viele gesagt.
Fangen wir an: 100nF Blockkondensatoren an den Versorgungsspannungspins?
>> der Atmega8 ist nach meiner auffassung richtig verschaltet... > >... das haben schon viele gesagt. >Fangen wir an: 100nF Blockkondensatoren an den Versorgungsspannungspins? AVCC angeschlossen? Beide GND angeschlossen? Und zeig dein Programm. Dann muss keiner mehr raten.
Tja...hardware heute bekommen, morgen muss es funzen. Ich bin Automatiker Azubi und arbeite eigentlich mit SPS und CNC Steuerungen und habe beruflich mit Assembler und MC nichts am Hut. Ich bin es gewohnt dass auf die Simulatoren verlass ist (Gut möglich dass manche "Notfall" Situationen nie getestet werden können) Schade dass das bei AVR nicht der fall ist. Habe stepp by Stepp programmteile übersprungen bis ich den fehler hatte..wisso dieser nicht geht ist mir zwar ein rätsel. Aber bei einer Steuerung die mit pseudo-Zufall arbeitet..kann man ja ruhig einen Teil rauslöschen ohne das nichts mehr geht..hat dann einfach einen grössere wiederholungs wahrscheinlichkeit..na ja..egal Schaltung passt....er geht ja nun ;) Programm...hätte ich hochgeladen sobald alles ausreichend komentiert gewesen währe ;) Na ja..wenn ich in dem Teil der Zicken macht keinen Fehler finden kann lade ich es ev. noch hoch. Danke trozdem für alle vorschläge
Hi >Schade dass das bei AVR nicht der fall ist. Die AVR-Simulatoren haben ein paar Probleme bei der Behandlung von IO-Komponenteten (PWM-Modi, U(S)ART, SPI). Dazu gibt es entsprechende Hinweise in der Hilfe zum Simulator (Known Issues). Code, der nicht auf diese Hardware zugreift wird nach meinen (jetzt ca. 15 jährigen) Erfahrungen mit AVRs exakt abgearbeitet. In Hinsicht auf >Ich bin Automatiker Azubi und arbeite eigentlich mit SPS und CNC >Steuerungen und habe beruflich mit Assembler und MC nichts am Hut. halte ich einen Programmierfehler für die wahrscheinlichere Variante. MfG Spess
Johny_D94 schrieb: > Schade dass das bei AVR nicht der fall ist. Ob der Simulator Dein Problem ist, kann man erst sagen, wenn man den Quelltext kennt. Ich vermute, eher nicht. Es gibt viele mögliche Fehlerquellen, gerade in Asssembler, die hat keiner Lust, alle aufzulisten.
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.