xmega port remap

Gast #3612502
Lesenswert?
• ▲
▼
Hallo,

habe ein Problem mit einem xmega32A4U.
Ich will einen mit T/C erzeugten clk nach draussen leiten. Allerdings 
bekomm ich den über TCC0 raus. Diesen bräuchte ich nun aber nicht auf 
den PINs PC0-3 sondern auf PC7. Laut Datenblatt lässt sich genau diese 
T/C Funktion mit dem Befehl PORTC.REMAP verschieben.

13.13.14 REMAP – Pin Remap register
The pin remap functionality is available for PORTC - PORTF only.

 Bit 3 – TC0D: Timer/Counter 0 Output Compare D
Setting this bit will move the location of OC0D from Px3 to Px7.
1
PORTC.REMAP |= PORT_TC0D_bm;
 funktioniert leider nicht wirklich bei mir. Bekomme meinen Takt immer 
noch auf PC3 raus.

Hoffe ihr könnt mir weiter helfen und danke im Vorraus.

Viele Grüße

Manu
Gast #3612633
Lesenswert?
• ▲
▼
Hallo,

Vielen Dank für die schnelle Antwort.
Funktioniert leider aber nicht. So bekomme ich durchgehend ein Pegel auf 
PC7. Bräuchte allerdings meinen clk. Zudem sollte eig der clk auch von 
PC3 verschwinden und nur noch auf PC7 ausgegeben werden. Laut dem 
Datenblatt sollte dies eig auch mit
1
PORTC.REMAP |= PORT_TC0D_bm
funktionieren. Da er so eben nur den Timer/Counter Channel 0 von PC3 auf 
PC7 legt. Funktioniert leider nur von der Theorie.

Viele Grüße

Manu
Gast #3765939
Lesenswert?
• ▲
▼
Hallo zusammen,

ich möchte das Thema nochmal aufgreifen, da ich vor demselben Problem 
stehe:

Die Umschaltung des Timers beim Xmega32A4U von PC3 auf PC7 funktioniert 
nicht. Das Signal bleibt auf PC3 (wo es nicht bleiben soll). Laut 
Debugger wird das PORTC_REMAP-Register gar nicht beschrieben.

Hat jemand vielleicht einen Tipp für mich?

Hier mein Code:

1
  //Remap TC0D from PC3 to PC7
2
  PORTC_DIRSET = 1<<PIN7_bp;
3
  PORTC_REMAP = 1<<3;
4

5
  //Start Timer
6
  TCC0_CCA = 30 ;
7
  //Frequency Mode (CTC)
8
  TCC0_CTRLB = TC_WGMODE_FRQ_gc | (1<<TC0_CCDEN_bp); 
9
  TCC0_CTRLA = TC_CLKSEL_DIV1_gc;

Danke

Al
Gast #3766009
Lesenswert?
• ▲
▼
Hallo Gerhard,

danke für den Test :)

Ich verwende auch Atmel Studio 6.2 in der neuesten Version.

Wenn jemand den Code nochmal auf einem xmega32a4u ausprobieren könnte. 
Das wäre echt super..


Gruß

Al
Gast #3790577
Lesenswert?
• ▲
▼
Hallo Gerhard,

sorry, dass ich mich jetzt erst melde. Bin gestern aus dem Urlaub 
zurück.

Also, auf dem  Ding steht: xmega32A4U-AU. Sollte nach meinem Verständnis 
ein 32A4U sein.
Kein Ahnung, warum das bei mir nicht geht. Muss halt ne Brücke zum alten 
PC3 ziehen und etwas umrödeln.

Trotzdem Danke für Eure Hilfe. :)

Gruß

Al

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.