Forum: Mikrocontroller und Digitale Elektronik Timer1 über AnalogComparator triggern im AVR-Studio4


von chris (Gast)


Lesenswert?

Hallo hallo und guten abend,

bin grade an einem Projekt bei und wollte mal einen anderen weg 
beschreiten in der ich die Toggelfunktion vom AnalogComparator zum 
Timer1 beim Atmega8 nutzen wollte.

Die Bits vom AC und T1 sind alle so gesetzt das es nach der 
DB-Beschreibung den 16bit-Wert von T1h:l in das ICR1h:l kopieren müsste 
aber das AVR-Studio4 macht es nicht, wenn ich dagegen im AVR-Studio4 den 
PB0(ICP) anklicke wird der Wert sofort von T1h:l in das ICR1h:l kopiert 
und der INT löst aus.

Da Timer1 und der AC an sich in dem Studio4 einzeln für sich betrachtet 
funktionieren kann es sein das diese Triggermöglichkeit nur von AC zum 
T1 in der Software nicht implementiert wurde aber wenn ich das Prog auf 
den ATMega8 spiele es so funktioniert wie ich es haben möchte?

Kann wer helfen?

Unter KnownIssues habe ich unter Simulator geschaut da steht nur:

TWI, USI and analog peripheral simulation is not yet implemented. All 
instructions, interrupts and other peripherals are supported.

Gruß chris

von c-hater (Gast)


Lesenswert?

chris schrieb:

> TWI, USI and analog peripheral simulation is not yet implemented. All
> instructions, interrupts and other peripherals are supported.

Und was genau hast du davon nicht verstanden?

von chris (Gast)


Lesenswert?

das hab ich schon verstanden das analog peripheral nicht unterstüzt wird 
im Studio4 doch was zählt alles zu

> "analog peripheral" ?

bzw wenn das so ist dann müsste die Triggerung laut Aussage

> "All instructions, interrupts and other peripherals are supported."

funktionieren oder nicht ?

von c-hater (Gast)


Lesenswert?

chris schrieb:

> das hab ich schon verstanden das analog peripheral nicht unterstüzt wird
> im Studio4 doch was zählt alles zu
>
>> "analog peripheral" ?

Na auf jeden Fall alles, was schon im Namen "analog" hat. Also natürlich 
auch der analog comparator.

> bzw wenn das so ist dann müsste die Triggerung laut Aussage
>
>> "All instructions, interrupts and other peripherals are supported."
>
> funktionieren oder nicht ?

Tut sie ja auch. Du kannst das ACI-Bit in ACSR anklicken und der 
Interrupt wird ausgelöst werden (natürlich wenn ACIE enabled ist und das 
globale Interruptflag auch).

von chris (Gast)


Lesenswert?

Es geht um das ACIC-Bit vom AC welches den AC mit den Timer1 koppelt und 
eine Kopie vom TCNTH:L in das ICRH:L schreibt wenn der AC entsprechend 
auslöst nur dass das Studio es nicht simuliert. Wenn ich meine HW hier 
hätte, hät ich den prof schon längst geschossen und es ausprobiert, habe 
leider im moment nichts vor Ort. Also wird es nicht im Studio unterstüzt 
entnehme ich mal deiner Aussage...

von c-hater (Gast)


Lesenswert?

chris schrieb:
> Es geht um das ACIC-Bit vom AC welches den AC mit den Timer1 koppelt

Das funktioniert auch.

> eine Kopie vom TCNTH:L in das ICRH:L schreibt wenn der AC entsprechend
> auslöst nur dass das Studio es nicht simuliert.

Doch, das tut es. Ein Klick auf das ACO-Bit in ACSR simuliert ein 
komplettes Komparator-Event, also mit nachfolgender Auslösung von ACI 
und auch mit der vollständigen InputCapture-Funktionalität von Timer1, 
der Wert von TCNT1 wird also nach ICR1 kopiert und der ICF1-Interrupt 
ausgelöst. Also alles genau so, wie es sein sollte.

von c-hater (Gast)


Lesenswert?

c-hater schrieb:

> Das funktioniert auch.

Korrektur:

Das funktioniert nur bei nachsteinzeitlichen AVRs, die vom Simulator V2 
unterstützt werden. Ich hatte überlesen, daß du einen historischen Mega8 
verwendest und damit auf den Simulator V1 beschränkt bist.

Damit geht das tatsächlich nicht.

von Spess53 (Gast)


Lesenswert?

Hi

>Damit geht das tatsächlich nicht.

Der ATMega8 wird von beiden Simulatoren unterstützt.

MfG Spess

von c-hater (Gast)


Lesenswert?

Spess53 schrieb:

> Der ATMega8 wird von beiden Simulatoren unterstützt.

Der ist bei mir (wie die ganzen alten Dinger) ausgegraut und nicht 
anwählbar, wenn ich den Simulator V2 auswähle.

von chris (Gast)


Lesenswert?

Guten Morgen,

@c-hater:

habs grade mal aussprobiert mit dem Simulator V2 und den Mega8 tja und 
es funktioniert denn werd ich mal die Plattform ändern.

Auf den Trichter muss mal erst kommen....

c-hater vielen dank für die Hilfe.

von chris (Gast)


Lesenswert?

c-hater welche Version des Studios hast du denn ??

Bei mir ists die 4.19 729 und in beiden Simulatoren kann ich die Mega8 
auswählen so wie spess53 schrieb.

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.