Forum: Mikrocontroller und Digitale Elektronik AVR Analog Comparator


von Thomas Müller (Gast)


Lesenswert?

Hallo,

ich muss den Analog Comparator (Interrupt) im TINY 25 benutzen. Jetzt 
hab ich mir de Code bei Atmel geholt und in der Simulation tut sich 
überhaupt nichts.

  ldi  Accu,(1 << ACBG) | (ACI<<1)  ;clear interrupt flag and 
ACIS1/ACIS0...
  out  ACSR, Accu      ;to select interrupt on toggle
;  sbi  ACSR,ACIS0
;  sbi  ACSR,ACIS1       ;enable interrupt on rising output edge

  sei              ;enable global interrupts
  sbi  ACSR,ACIE      ;enable Analog Comparator interrupt

  nop
  nop
  nop
    ; sei
loop:
    rjmp loop

In der Simlation geht überhaupft nichts ich kann an den Pins zuppeln wie 
ich will nichts tut sich.

Weis jemand Rat?

Ciao Thomas

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Vielleicht wolltest du ja statt ACI << 1 eher 1 << ACI schreiben?

von Thomas Müller (Gast)


Lesenswert?

Hallo,

der Code ist von Atmel wie geschrieben nachdem meine Initialisierung das 
gleiche Ergebniss hatte.

Korrektur des Quelltextes:

Es tut sich aber trotzdem nichts.

Ciao Thomas

von Johannes M. (johnny-m)


Lesenswert?

Wie soll sich in der Simulation auch was tun? Die analoge Peripherie 
wird schließlich gar nicht vom Simulator unterstützt...

Und mit dem "Quelltext" da oben kann das auch in praxi nicht gehen. Du 
gibst einen Interrupt frei, hast aber nirgends den betreffenden Vektor 
initialisiert, geschweige denn einen Interrupt Handler geschrieben... 
Schick mal den vollständigen Code, und zwar vernünftig formatiert 
(dazu gibt es schließlich die Formatoptionen hier im Forum).

von AVRFan (Gast)


Lesenswert?

Wenn Du den Simulator benutzt, solltest Du auch seine Grenzen kennen. 
In der Hilfe findest Du auf den Seiten "Known Issues" und "Simulator 
Modules" alles Wissenswerte dazu.

Aus "Simulator Modules":

"Analog Comparator is not supported."

Aus "Known Issues", Punkt "Unsupported modules":

"Simulation of TWI, USI and analog peripheral is not yet implemented. 
All instructions, interrupts and other peripherals are supported. See 
the Simulator Modules for more information."

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.