www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Xmega per Compare Portpin toggeln


Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche eine möglichkeit herrauszufinden wann genau der Xmega einen
Compare A Timer CO ausführt.
Mit genau meine ich in dem Moment wo der ein Compare Ereignis 
stattfindet soll ein Protpin geschalten werden.
Ich hab es per PWM versucht aber der Portpin schaltet nicht.

versucht habe ich das hier:

Timer E0
Portpin E2 soll  bei Compare C geschalten werden.

ldi Temp, PORTCFG_VP1MAP_PORTE_gc
sts PORTCFG_VPCTRLA, Temp

ldi Temp, 0b00000100 ;Port E2 auf Ausgang
out VPORT1_DIR, Temp

ldi temp,0x01
sts TCE0_CTRLA,temp
ldi temp, 0x43
sts TCE0_CTRLB,temp

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keiner Da?

Autor: avr-tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus Kollega,

siehe Dir doch folgende Sache an:

http://www.atmel.com/dyn/resources/prod_documents/...

Habe einige Module getestet und für gut befunden.
Auch für Anfänger geeignet. Hier findest Du alles über Atxmegas!
Vom Takt bis zum Ad-Wandler.

Gruß avr-tester

Autor: R--- S--- (rene66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke das jemand geantwortet hat.
Ich habe herausgefunden das man z.b. bei einem Event auf Kanal 7 das man 
im Eventregister einstellt so:

ldi    temp,0x80
sts    EVSYS_CH7MUX,temp

ldi temp,0x30
sts PORTCFG_CLKEVOUT,temp

und dann noch im Vport Register den Pin C D oder E 7 der Register 
zuweist. dann eine Raktion am Pin folgen sollte.
Man legt also einen Timer Overfow auf pin 7 und es sollte sich was tun. 
Tut es auch aber egal was ich einstelle es reagiert immer nur auf das 
was an Event 1 gerade gemacht wird.

Pin 7 ist als Ausgang konfiguriert
Aus den Appnotes ist nicht viel zu dem Thema ersichtlich was überhaupt 
passiert.

Autor: Helmut Ru (heru01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rene,

kannst Du Dein Beispiel bitte komplett posten?

Ich wollte auf PORT_C Pin7 über das Eventsystem den Pin toggeln lassen, 
aber das Ding tut net.

Schreib doch mal bitte einfach in Asm oder C die Initialisierung davon:
welchen Timer
welchen Event
welchen Port

Über TC->Event->DMA->Port  kann ich ohne ISR den Port toggeln lassen (da 
reagiert aber dann nicht 1 Bit, sondern leider durch die DMA minimal 1 
Byte - und ich brauche die anderen Ausgänge für etwas anderes.)

Vielen Dank,

Gruß
Helmut

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.