XMEGA QuarzPins als Eingänge nutzen

pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

XMEGA QuarzPins als Eingänge nutzen

 · 
Posted: 26.05.2014 - 18:04  ·  #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
 
Subject:

Re: XMEGA QuarzPins als Eingänge nutzen

 · 
Posted: 26.05.2014 - 18:32  ·  #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
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

Re: XMEGA QuarzPins als Eingänge nutzen

 · 
Posted: 26.05.2014 - 18:44  ·  #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
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: XMEGA QuarzPins als Eingänge nutzen

 · 
Posted: 26.05.2014 - 20:38  ·  #4
Quote by 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
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   80   94 · Page-Gen-Time: 0.037924s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI