XMEGA QuarzPins als Eingänge nutzen

pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

XMEGA QuarzPins als Eingänge nutzen

 · 
Gepostet: 26.05.2014 - 18:04 Uhr  ·  #1
Hallo Leute,

ich habe ein komisches verhalten mit einen ATXMEGA128A1U.

Ich wollte eigentlich die Quarz Eingänge als normale IOs nutzen, da ich den internen Quarz nutze. Aber ich bekomme keine Signaländerungen auf den PINs. Entweder sehe ich vor lauter Bäumen den Wald nicht mehr, oder muss ich da noch was bestimmtes beachten? Evtl. spezielle Register setzen?

Code

....
Define
  OSCtype                = int2MHz,
                           PLLmul = 16,
                           prescB = 1,
                           prescC = 1;
  SysTick                = 10;                 // msec

...
var
// Input  Onboard
   HxIN_SOFTRESET    [@PINQ, 0 ] : bit;
   HxIN_RUNSTOP      [@PINR, 0 ] : bit;
   HxIN_SERVTAST     [@PINR, 1 ] : bit;

....

procedure InitPorts;
begin

//Reset Input Taste
 PortQ.0:= 1; //Pullup
  DDRQ.0:= 0;  // 0=EINGANG  1=Ausgang
//Run Stop/Schalter
 PortR.0:= 1; //Pullup
  DDRR.0:= 0;  // 0=EINGANG  1=Ausgang
//ServTaste
 PortR.1:= 1; //Pullup
  DDRR.1:= 0;  // 0=EINGANG  1=Ausgang
end InitPorts;


Die DDRx und PORTx werden richtig gesetzt, ich habe diese Register als Ser-Ausgabe ausgegeben, diese scheinen zu stimmen, wenn ich jetzt ein GND Signal anlege sollte eigentlich etwas im PIN-Register zu sehen sein

Code

    DebugOut('HxPinQ : '+ByteToBin(  PinQ)  );
    DebugOut('HxPinR : '+ByteToBin(  PinR)  );


Aber da gibt es keine Reaktion, habe ich da einen Denkfehler?

Gruss
PVS-Deck
Harald_K
 
Avatar
 
Betreff:

Re: XMEGA QuarzPins als Eingänge nutzen

 · 
Gepostet: 26.05.2014 - 18:32 Uhr  ·  #2
keine Ahnung wie das bei den Xmegas ist, bei den "normalen" Megas muß man die CKSEL / CKOPT-Bits in den Konfigurationsregistern passend setzten, damit der jeweilige Oszillatortyp ausgewählt wird. Angaben dazu welche Flags wie zu Setzen sind findet man im passenden Datenblatt.

achja - die ausgewählte Oszillatorschaltung muß dann auch angeschlossen sein, sonst ist nach dem Flag-Setzen der Prozessor nicht mehr seriell programmierbar, da kein Takt vorhanden ist fürs Programmierinterface. (Hatte da mal ein "Aha-Erlebnis" mit RSTDISBL beim tiny26)
Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

Re: XMEGA QuarzPins als Eingänge nutzen

 · 
Gepostet: 26.05.2014 - 18:44 Uhr  ·  #3
Hallo,
bei xmega werden die pullups über die entsprechenden config register, PINnCTRL, aktiviert.

PIN0CTRLQ := %00011000; // pullup
PIN0CTRLR := %00011000;
PIN1CTRLR := %00011000;

Gruß
Thomas.AC
pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

Re: XMEGA QuarzPins als Eingänge nutzen

 · 
Gepostet: 26.05.2014 - 20:38 Uhr  ·  #4
Zitat geschrieben von Thomas.AC

PIN0CTRLQ := %00011000; // pullup
PIN0CTRLR := %00011000;
PIN1CTRLR := %00011000;


Hallo Thomas,

oh.... wie war das mit dem Wald vor lauter Bäumen, sowas passiert wenn man 2 Wochen nur ATMEGA programmiert und dann wieder XMEGA.

Klar PINnCTRLx Register, da war es wieder und wenn man es richtig einfügt klappt es auch mit dem PIN ;)

Code
  PIN0CTRLQ := %01011000; // pullup und INVERT


Danke für die Gedankenstütze...

Gruß
PVS-Deck
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   80   94 · Page-Gen-Time: 0.031572s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI