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!!!
Mit 1 GTC-Zelle und Match auf einen der global timer oder mit 2 LTC-Zellen (1 Zähler + 1 Compare-Wert). Gruß Anja
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ß.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.