Hallo, bei dem AVR Mega gab es doch die nützliche Funktion das bei einem z.b. Compare der Timer zurückgesetzt wurde. Er anhielt und auf Null zurückgesetzt wurde. Geht das auch beim Xmega in den Appnotes habe ich nichts gefunden. Kann wer helfen? Danke
Ich möchte gern kontinuierlich die länge eines Externen Taktes im Hintergrund messen und das Ergebnis in per DMA in den RAM schreiben. Das Blöde ist das der Timer bei Compare nicht zurückgesetzt wird und fröhlich weiterzählt. Wie gesagt ich wollte das ohne Interrupts und nur mit Events und DMA machen.
Von genau welchem Timer sprichst Du? Normalerweise wird für den von Dir benötigten Zweck der CTC-Mode eingestellt und diesen gibt es auch beim XMega. Nur ist hier die korrekte Initialisierung manchmal etwas aufwändiger.
Timer F1 Initialisiert ist er so: ldi temp,TC_CLKSEL_DIV1_gc sts TCF1_CTRLA,temp ldi temp, 0x10 sts TCF1_CTRLB,temp ldi temp, 0x2A; sts TCF1_CTRLD,temp ldi temp,low(TCF1_CCA) sts DMA_CH2_SRCADDR0,temp // Channel Source Address 0 ldi temp,high(TCF1_CCA); sts DMA_CH2_SRCADDR1,temp // Channel Source Address 1 ldi temp,0x00 sts DMA_CH2_SRCADDR2,temp // Channel Source Address 2 ldi temp,low(VorzeitL_G) sts DMA_CH2_DESTADDR0,temp // Channel Destination Address 0 ldi temp,high(VorzeitL_G) sts DMA_CH2_DESTADDR1,temp // Channel Destination Address 1 ldi temp,0x00 sts DMA_CH2_DESTADDR2,temp // Channel Destination Address 1 ldi temp,0x55 sts DMA_CH2_ADDRCTRL,temp ldi temp,0xA8 sts DMA_CH2_TRIGSRC,temp ldi temp,0x02 sts DMA_CH2_TRFCNT,temp ldi temp,0x00 sts DMA_CH2_TRFCNT+1,temp Mfg René
Wenn ich Frequency Capture einstelle dann reagiert im Simulator nichts der Timer läuft weiter und der Zählerstand wird nicht im CCA register gespeichert. Gibts da nicht irgendwo beispiele Ausser die in den Appnotes von Atmel.
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.