AVR: Unterschiede beim Debuggen und Simulieren

OP #1316880
Lesenswert?
• ▲
▼
Hi,

ich habe folgenden Programmschnipsel geschrieben:

"
clr ar
  sbr ar,1<<ADEN|1<<ADPS2|1<<ADPS0|1<<ADATE
  out ADCSRA,ar
clr ar
  sbr ar,1<<ADTS0
  out SFIOR,ar
clr ar
  sbr ar,1<<REFS1|1<<REFS0|1<<ADLAR
  out ADMUX,ar
  sei

Starten:

    sbi ADCSRA,ADSC

Warten:
    sbic ADCSRA,ADSC
    rjmp Warten

in Zahl,ADCH
"
Das klappt auch alles ganz prima im Simulator...so wie ich mir das 
vorgestellt habe. Nur wenn ich das Programm in meinen Mega32 lade und 
via Debuggmodus (JTAG) mir ansehe was der Chip macht werde ich stutzig. 
Immer wenn ich das Startbit für die Analog-Convertierung starte setzt er 
automatisch das Interrupt-Flag und das Startbit wird gar nicht erst als 
eins angezeigt. Messen tut die Schaltung allerdings!Ich finde meinen 
Fehler einfach nicht! Ich habe schon mal etwas mit dem ADATE und dem 
dazu gehörigen SFIOR-Registern experimentiert aber alles führt zu keiner 
Lösung oder Erklärung.

Kann mir einer die Lösung zu meinem Problem verraten?
Moderator (Firma: Titel) Persönliche Seite #1317064
Lesenswert?
• ▲
▼
Eine Simulation ist eben nur eine Simulation... :-/
In der Realität wird auch der Timer einfach weiterlaufen.

> Denn die Timer sind ja ebenfals Hardware-Einheiten oder
> besteht da ein Unterschied?
Ja, es gibt einen gewissen Unterschied zwischen einem Timer und einem 
ADC: Versuch mal mit dem Timer eine Spannung zu wandeln  ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren