mikrocontroller.net

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


Autor: Jakob M. (Firma: Student) (jakkob)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jens 343 (jens343)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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:-)

Autor: Pascal Wickmann (pascal-w)
Datum:

Bewertung
0 lesenswert
nicht 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

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.