Forum: Mikrocontroller und Digitale Elektronik TC 1796 Timer-Problem


von Matthias S. (zenonkition)


Lesenswert?

Hallo,

kämpfe im Augenblick mit dem Tricore 1796 und Dave. Und zwar benötige 
ich einen Timer der nach 10ms, 20ms und 500ms zyklisch bestimmte 
Funktionen ausführt. Das müsste ja meiner Meinung nach über den System 
Timer (STM) und zugehörige Interupts klappen.

Aber welche Einstellungen brauche ich in Dave dafür? Ich kann ja nicht 
auf den Overflow warten, weil der nicht die passende Zeit hat und die 
compare-Funktion scheint mir nur einmalig zu agieren, wenn z.B. 10ms 
erreicht sind bzw. der Zähler bspw. bei 25000 steht. Aber wie bekomme 
ich das regelmäßig hin mit dem durchlaufenden Timer...

Hab schon hier gesucht und gegoogelt...ich benutze die 
Hightec-Umgebung+Dave.

Vielleicht kann mir mal jemand sagen wie mans machen muss...DANKE!!!

von Anja (Gast)


Lesenswert?

Mit 1 GTC-Zelle und Match auf einen der global timer
oder mit 2 LTC-Zellen (1 Zähler + 1 Compare-Wert).

Gruß Anja

von Klaus B. (Gast)


Lesenswert?

Hi,

du kannst auch das CMP-Register des STM-Modules verwenden. In der 
Interrupt-Routine addierst du dann immer die notwendigen Timerticks für 
20,50 oder 500ms. Ist einfacher zu konfigurieren als der GPTA...

Gruß.

von Matthias S. (zenonkition)


Lesenswert?

Danke für Eure Hilfe!
Habe es jetzt mit dem STM-Modul und dem CMP-Register hinbekommen. Habe 
mir eine Auflösung von 0,04 us ausgewählt und dann mit 250000 
verglichen...das ergibt dann also 10ms. Dann habe ich im Interrupt einen 
globalen Timer hochzählen lassen und dann mittels Modulo geschaut das 
ich alle 500ms meine andere Funktion ausführe.

Vielen Dank...jetzt hab ich nur noch ein kleines EBU + Ethernet Problem 
... aber dafür mache ich wohl besser ein neues Thema auf. Vielen Dank 
nochmals!

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.