Forum: Mikrocontroller und Digitale Elektronik atTiny Timer läuft im AVR-Studio nicht


von Frank Haussmann (Gast)


Lesenswert?

Hallo zusammen,

als ziemlicher Anfänger mit den AVR-uCs habe ich mich nun soweit
eingelesen, dass ich nun zu den Timern gekommen bin.
Meine Hardware ist bestellt (STK500) nur noch nicht da - bis dahin
benutze ich den Simulator des AVR Studio (Ver. 4.12, SP2).

Wenn ich mir das TCNT0-Register anschaue wärend ein beliebiges Programm
mit F11 durchgesteppt wird ändert sich an dem Inhalt nichts. Ist auch
klar, da keine Taktquelle gwählt ist. Setzt man nun im TCCR0B das Bit 0
(CS00) und wählt damit einen Prescalar von 1 (also keinen
Teilungsfaktor) passiert bei ATTiny25 NICHTS. Der Zählerwert läuft
nicht.
Ändere ich nun das Device und wähle einen beliebigen ATMega, z.B.
ATMega16 und mache das selbe (TCCR0B heißt dort eben TCCR0)dann läuft
der Timerewert.

Was habe ich bei den Tinys übersehen? Ich habe die verschiedensten
Tinys als Ziel ausgewählt und bei keinem bringe ich den Timerwert zum
laufen.

Hat jemand schon mal erfolgreich den Timerwert bei Tinys im AVR-Studio
laufen sehen?


Danke für eure Mühen.

Grüße

Frank

von Hannes L. (hannes)


Lesenswert?

Tiny12 und Tiny15 konnte ich in AVR-Studio erfolgreich simulieren.
Tiny25 ist mir zu neu, damit habe ich noch nix gemacht.

...

von Ralf (Gast)


Lesenswert?

wie initialisierst du den timer denn? und welcher tiny genau?

von Frank Haussmann (Gast)


Lesenswert?

Servus,

hab' mich nochmal drangesetzt und "sämtliche" Tinys durchprobiert.
Immer gleiches Vorgehen:
Ein Assemblerbrogramm (Endlosschleife mit NOPs) wird mit F11
durchgestept.
Dann irgendwann mal das Bit CS00 setzen (setzt den Prescalar auf 1 und
sollte laut Datenblatt damit einfach den Takt zum Timer durchleiten).

Jetzt läuft der Timerwert bei ATTiny12, 15, 22, 26 und 28 los.
Bei ATTiny 24, 25 und 261 läuft der Timerwert nicht los (verändert sich
also nicht um 1 bei jedem mal F11 drücken).

Was habe ich übersehen? Ich steh voll auf dem Schlauch.
Ich möchte einfach nur, dass der Timer bei jedem Takt um 1 hochgezählt
wird. Die Interrupts genriere ich mir später.
Welche Bits beinflussen denn den Takt noch? Warum ändert sich der
Zählerwert nicht?


Kann bitte jemand im AVR-STudio mal den Tiny25 und z.B. den Tiny22
ausprobieren ob sich das bei euch gleich verhält?


Herzlichen Dank für eure Mühen.


Grüße


Frank

von Hannes L. (hannes)


Angehängte Dateien:

Lesenswert?

Also bei mir tuckert Timer0 des Tiny25 im Simulator...

Version 4.11 Build 410 SP3

...

von Frank Haussmann (Gast)


Lesenswert?

Hoy HanneS,


danke für deinen Test.
Du glaubst es nicht: setzt man das Bit im "I/O-View" von Hand dann
läuft der Zähler nicht - setzt man es aber im Programmcode dann läuft
der Zähler.

Danke für deine Hilfe.



Grüße


Frank

von Karl heinz B. (kbucheg)


Lesenswert?

Auf die Idee, den Zähler im I/O View zu starten wäre
ich nie gekommen :-)

von Hannes L. (hannes)


Lesenswert?

Ich auch nicht...

...

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.