OC1A kontrollieren

Gast #125887
Lesenswert?
• ▲
▼
Hi
ich habe folgendes Problem:
ich verwende einen AT90S8515. Den benutze ich im Compare-modus.
Dazu wollte ich das OC1A-bit toggeln, aber auch zusätzlich
kontrollieren. wie mache ich das und wie kann ich mir im AVR-Simulator
diesen Status ansehen???

Danke schon mal im Vorraus

Gruß moad
Gast #125888
Lesenswert?
• ▲
▼
Im AVR-Studio ist links der "Workspace".
An unterer Kante dessen klickst Du auf "I/O" und unter dem Zweig
"I/O AT90S8515" findest Du das dann unter "Timer_Counter_1" und
dann "TIFR" (OCF1A).
Mach Dir doch ein Interrupt-Prog on Compare Match A.
Durch das Int.-Prog kannst Du ja dann ein Flag im SRAM setzen lassen
welches Du im Main-Programm dann "gelegentlich" abfragen kannst und
nach der Abfrage zurücksetzt.
Bei 4MHz benötigt so ein IRQ-Prog ca. 5µS (0,0005%) inkl. sichern des
Statusregisters und eines Arbeitsregister (z. B. r16):

IRQonCMA:
 push r16
 in r16,sreg
 push r16
 ldi r16,1
 sts CompareFlag,r16
 pop r16
 out sreg,r16
 pop r16
 reti

.dseg:
CompareFlag: .byte 1

Du mußt nur noch am Start vor dem Main-Prog den "IRQ on Compare Match
A" in TIMSK (OCIE1A) aktivieren.

Gruß
Andi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.