Forum: Mikrocontroller und Digitale Elektronik AVR-Studio und Bug im Debugger bei PWM


von Jakob M. (Firma: Student) (jakkob)


Lesenswert?

Ist es ein bekannter Bug dass der AVR-Studio Debugger im Phase-Correct 
PWM  Modus (hier: Atmega 16, TIMER0) den Overflow nicht erkennt und 
daher TOV0 nicht setzt und daher keinen IR auslöst?
Kann das Jemand reproduzieren? Dann könnte man es vielleicht mal 
irgendwem mailen.. mich hat das zusammen mit einem schrotten Atmega 
gerade EINIGE Stunden gekostet...:-(
(oder vertraut hier bei den "Profis" eh keiner dem Debugger vom Studio?)

greetz
jakob

von Jens 3. (jens343)


Lesenswert?

Testen heißt wohl wirklich testen -> du flasht nen µC mal auf die 
schnelle nachdem alles so übern daumen gehen tut im simulator.

Ich selbst vertraue bei den simulierungen nie so ganz den timern... die 
sind angeblich ned so dolle

von Spess53 (Gast)


Lesenswert?

Hi

AVR Studio Simulator Help:

Known Issues:

Timer/Counters
16-bit Timer/Counters on all devices have several problems with PWM, 
prescaler and ...

Hilfedateien sind nicht zum Spass da.

MfG Spess

von Johannes M. (johnny-m)


Lesenswert?

Spess53 wrote:
> AVR Studio Simulator Help:
>
> Known Issues:
>
> Timer/Counters
> 16-bit Timer/Counters on all devices have several problems with PWM,
> prescaler and ...
Nur ist Timer 0 kein 16-Bit-Timer. Datenblätter sind auch nicht zum Spaß 
da:-)

von Pascal W. (pascal-w)


Lesenswert?

Hallo Leute,

ich hoffe mal das hier noch mal jemand nach guckt. Ich habe auch ein 
Problem mit dem Debugger des AVR Studios. Bei mir kommt der Atmel ATMega 
8515L Prozessor zum Einsatz.
Ich habe einen "Ringpeicher" programmiert, der mit Hilfe des 
"X-Pointers" nach einem Interrupt beschrieben wird und mit dem 
"Y-Pointer" ausgelesen werden soll. Wenn der Abstand zwischen X- und 
Y-Pointer groß genug ist soll mit den Werten gerechnet werden.

Bisher wollte ich beim Debuggen testen ob des Programm bis in alle 
Ewigkeit auf Interrupts wartet. Folglch müssten beide Pointer auf dem 
Anfangswert stehen bleiben
Der Debugger funktioniert leider nur etwa 393000 Rechenoperationen 
(dabei wurden die Befehle wo ich den Fehler lokalisieren konnte 
mindestens 1000 mal fehlerfrei ausgeführt) dann fängt er an den 
Y-Pointer zu verändern und wegen den unterschiedlichen Werten der 
Pointer fängt er dann an wild rum zu rechnen obwohl noch nichts in den 
Speicher geschrieben wurde.

Ist das ein Problem im Debugger oder habe ich da evtl. etwas falsch 
programmiert was erst sehr spät auftritt?

Gruß Pascal

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.