Forum: Mikrocontroller und Digitale Elektronik Timer in Atmel Studio 6 simulieren


von Hannes (Gast)


Lesenswert?

Also ich habe erst vor wenigen Tagen angefangen mit mit µC´s zu 
beschäftigen.
Im Moment verzweilfle ich daran einen simplen Timer im Atmel Studio 6 zu 
simulieren. Hier erstmal mein kleiner Code:

#include <avr/io.h>
#include <avr/interrupt.h>

int main(void)

{
    DDRC  = 0xFF;
    TCCR0 = 0b00000001; //Prescaler 1
    TIMSK = 0b00000001; //Interrupt Enable
    sei(); //Interrupts global zulassen
    while(1)
    {


      //TODO:: Please write your application code
    }


}

ISR(TIMER0_OVF_vect)
{
  PORTC = 0xFF;
}

Es soll einfach nur ein Interrupt ausgelöst werden welcher alle Bit´s 
von PortC setzt.

Allerdings sehe ich während der simulation niergens wo die CPU hochzält 
oder auch nur irgendetwas tut.
Außerdem finde ich keine Eintsellung für die Frequenz und damit ist es 
extrem schwieren einen sinnvollen Prescaler einzustellen...

Wäre sehr dankbar für eine Hilfestellung ;)

PS: Als realen µC werde ich einen ATmega8A verwenden was ich auch im 
Studio angegeben habe.

MfG.

von spess53 (Gast)


Lesenswert?

Hi

>Allerdings sehe ich während der simulation niergens wo die CPU hochzält
>oder auch nur irgendetwas tut.

Sieht man auch nicht. Die Anzeigen werde erst beim Unterbrechen der 
Simulation aktualisiert. Setze doch einfach mal einen Breakpoint (mit 
F9) in deine ISR.

MfG Spess

von Hannes (Gast)


Lesenswert?

Oh da hätte ich auch drauf kommen können, das mal zu testen :-D

Allerding beudeutet das ja das echtzeit-debugging (also das man die 
timer etc. testen kann) nicht möglich ist oder ?

MfG.

von spess53 (Gast)


Lesenswert?

Hi

>Allerding beudeutet das ja das echtzeit-debugging (also das man die
>timer etc. testen kann) nicht möglich ist oder ?

Es gibt auch noch Einzelschrittmodi mit F10/F11. Da erfolgt nach jedem 
Step die Aktualisierung. Allerdings würde ich das nicht als 
'echtzeit-debugging' bezeichnen.

MfG Spess

von Hannes (Gast)


Lesenswert?

Ja das habe ich schon gesehen.

Schade das es es nicht möglich ist den Takt des µC´s einzustellen und 
dann verfolgen kann wie sich zB die regiter ändern etc.

MfG.

von Karol B. (johnpatcher)


Lesenswert?

Hannes schrieb:
> Schade das es es nicht möglich ist den Takt des µC´s einzustellen und
> dann verfolgen kann wie sich zB die regiter ändern etc.

Naja, das wäre ja bereits ab einigen Hertz absolut unbrauchbar.

von spess53 (Gast)


Lesenswert?

Hi

>Schade das es es nicht möglich ist den Takt des µC´s einzustellen und
>dann verfolgen kann wie sich zB die regiter ändern etc.

Ist zwar nicht Echtzeit (wäre auch nicht brauchbar) aber vielleicht 
hilft dir Autostep weiter: ALT+F5.

MfG Spess

von Hannes (Gast)


Lesenswert?

Ich meinte das etwas anders ;)

Und zwar wenn man z.B. einstellen würde das der µC mit 8Mhz läuft und 
man den timer so dimensioniert, dass jede Sekunde ein Interrupt 
ausgelöst wird der z.B. die Bits von PortC setzt oder rücksetzt.

Dieses setzten und Rücksetzen könnte man dann beobachten, aber das 
schein ja nicht möglich zu sein.


MfG.

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.