XMEGA - Pinzustand spiegeln

Gast #2265505
Lesenswert?

Guten abend,

ich habe mir eine Platine ätzen lassen, wobei ich einen Fehler gemacht 
habe: Ich habe einen Pin, welcher ein Hardware-PWM-Signal ausgeben soll, 
herausgeführt, welcher jedoch keinem Compare-Register zugeordnet ist 
(PC7). Ein anderer Pin, welcher das kann, liegt noch frei (PC0).

Ich dachte mir, dass ich das Problem so umgehen kann, dass ich per 
Eventsystem den Zustand des einen Pins (PC0) auf den anderen Pin (PC7) 
kopieren kann und so um eine Neufertigung der Platine herumkomme.

Nach einiger Zeit des Einlesens komme ich jedoch nicht weiter. Die Idee 
ist, über
EVSYS_SetEventSource( 0, EVSYS_CHMUX_PORTC_PIN0_gc );
ein Event zu starten und diesen dann auch PC7 zuzuordnen, was mir jedoch 
nicht gelingt, da ich nicht weiss, wie der Befehl hierzu aussieht.

Es wäre schön, wenn jemand einen Dankanstoss liefern könnte.

Gruß,
Stephan
#2268690
Lesenswert?

Hallo Stephan,

du hast Glück, dass es Port C ist!
Es gibt hier (und nur hier) noch eine Möglichkeit den Pin PC7 zu nutzen:
Du musst die AWEXC-Einheit (bzw. DTI-Einheit) aktivieren. Du kannst dann 
auf allen 8 Port-Pins PWM machen. Jeweils zwei Pins sind dann immer 
komplementär (invertiert) zueinander. Die DTI-Funktion muss in deinem 
Fall nur für den Kanal D (CCD) aktiviert werden (AWEXC_CTRL). Evtl. noch 
Port-Inverter einschalten und Port-Override (AWEXC_OUTOVEN) sezen.

Hoffe, es hilft weiter...

Gruß
Xmegaman

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren