AVR-Simulator: Timer zählt nicht?!

Gast #494476
Lesenswert?
• ▲
▼
Hallo!

Und gleich nochwas^^

habe hier ein kleines Programm in C geschrieben, mit dem ich den Timer0 
mit Prescaler: 1024 zählen lasse.
Warum sehe ich im Simulator nicht die einzelnen Bits im TCNT0 springen?
Kann das programm leider nicht an der Hardware testen ob es denn 
funktioniert, da ich - siehe vorheriges Problem von mir - im moment 
nicht die möglichkeit dazu habe.

Kurze Erklärung zum Programm:

PortA als Ausgang
Wenn das Zählregister auf 0xFF steht, soll i um eins erhöht werden. Wenn 
i dann den Wert 2 hat, soll ins r16 (Arbeitsregister) 0xFF geschrieben 
werden.
Das Programm hat so keinen Weiteren Sinn. ich möchte einfach nur Wissen, 
ob denn mein Timer zählt.
Danke!


#include <avr/io.h>

int main (void)
{
int i=0;

DDRA=0xFF;
TCCR0=0b00000101;
for(;;)
{
  if (TCNT0 == 0xFF)
  {
    i++;
    if (i==2)
    {
    asm volatile (ldi r16,0xFF);
    i=0;
    }
}
}
}
#494504
Lesenswert?
• ▲
▼
'Springen' ist vielleicht übertrieben.
Du musst 1024 mal auf F10 (Single Step) drücken,
bevor der Timer um 1 hochgeht. Ev. etwas weniger oft,
wenn du ein paar Befehle drinn hast, die 2 Takte benötigen.
Aber ein paar Hundert mal sinds auf jeden Fall.

Setz den Prescaler runter.

Vom Regíster r16 solltest du die Finger lassen.
Die Register stehen unter der Kontrolle des Compilers.
Mit solchen Aktionen kannst du bestenfalls den Programmlauf
komplett zerstören.
#503312
Lesenswert?
• ▲
▼
Welcher AVR?

Ich simuliere gerade einen tiny45 (Zähler1 ohne Vorteiler) und der 
Zähler steht im AVR-Studio (in Hardware läuft er).

Ich erinnere mich an Simulationen beim tiny13, wo er ganz brav zählte.

Gab es da nicht einmal eine Übersicht, bei welchem Bauteil welche 
Funktionen simuliert werden? Die finde ich nicht mehr ...

Gruß, Philipp.
#503840
Lesenswert?
• ▲
▼
johnny.m wrote:
> AVRStudio Help, AVR Tools User Guide, Simulator, Known Issues. Da steht
> alles was nicht geht...

Prima; das war zwar nicht genau, was ich gesucht hatte, aber über ein 
paar Links kam ich dann dorthin: AVRStudio -> Introduction -> Known 
Issues -> Simulator -> Simulator Help -> Device Specific issues.

Nicht gerade übersichtlich ... (-;

Und da steht dann die traurige Wahrheit bei tiny25/45/85: 
»Timer/Counter1 [...] is currently not supported in the AVR Simulator.«

Da werde ich wohl auf die nächste Version warten müssen.

Danke, Johnny!
Gast #503872
Lesenswert?
• ▲
▼
@Philipp:
Genau das steht auch da, wenn Du dem von mir angegebenen Pfad folgst. 
Bei den "Known Issues" muss man dann nur noch "Notes for ATTiny 
25/45/85" auswählen, die allerdings etwas versteckt ganz unten stehen, 
wo man sie vielleicht nicht direkt vermuten würde (bei alphanumerischer 
Reihenfolge)...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.