Timer1 über AnalogComparator triggern im AVR-Studio4

Gast #3206881
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
Gast #3208063
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 ?
Gast #3208080
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).
Gast #3208114
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...
Gast #3208177
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.
Gast #3208197
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.
Gast #3208378
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.

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