Forum: Mikrocontroller und Digitale Elektronik Probleme mit CCP Register ATxmega64A3


von Steven B. (steven1811)


Lesenswert?

Hallo,
Ich habe Probleme mit dem CCP Register. Wenn ich es setzen möchte, steht 
im AVR Simulator (Atmel Studio 6.0.1996) im CCP register immer 0x01 und 
nicht 0xD8. Ich verstehe nicht was ich hierbei falsch mache. Ich weiß 
auch, dass das Register, das vom CCP Schutz betroffen ist, innerhalb von 
4 Takten beschrieben sein muss. Dieser Call soll dafür sorgen das die 
Taktfrequenz der CPU 40 MHz betragen soll (Ich weiß, dass die CPU damit 
übertaktet wird). Kann mir hierbei jemand bitte helfen?

Grüße Steven


1
init_cpu_clock:
2
  //Enable internal 2 Mhz crystal
3
  ldi temp, OSC_RC2MEN_bm
4
  sts OSC_CTRL, temp
5
6
  //Set PLLFAC to 20 and select the internal 2 MHZ crystal
7
  ldi temp,  OSC_PLLSRC_RC2M_gc | (1<<OSC_PLLFAC2_bp) | (1<<OSC_PLLFAC4_bp)
8
  sts OSC_PLLCTRL, temp
9
10
  //When RC2MRDY is set then enable internal PLL
11
  waitforcrystal:
12
    lds temp, OSC_STATUS
13
    sbrs temp, OSC_RC2MRDY_bp
14
    rjmp waitforcrystal
15
16
  //Enable PLL
17
  lds temp, OSC_CTRL
18
  sbr temp, (1<<OSC_PLLEN_bp)
19
  sts OSC_CTRL, temp
20
21
  //Wait till the PLL is stable
22
  waitforpll:
23
    lds temp, OSC_STATUS
24
    sbrs temp, OSC_PLLRDY_bp
25
    rjmp waitforpll
26
27
  //Remove CPU Control Protection
28
  ldi temp, CCP_IOREG_gc
29
  out CPU_CCP, temp //Danach steht im CCP Register immer 0x01
30
31
  //Select PLL as Clock Source
32
  ldi temp, CLK_SCLKSEL_PLL_gc
33
  sts CLK_CTRL, temp
34
35
  ret

von Timmo H. (masterfx)


Lesenswert?

Datenblatt lesen
"When the protected I/O register signature is written, CCP[0] will read 
as one as long as the protected feature is enabled."

von Steven B. (steven1811)


Lesenswert?

Ah ok. Danke Timmo für die schnelle Antwort.

Ich denke ich habe es jetzt verstanden. Ich hab jetzt nochmal 3.12 im 
Datenblatt gelesen. Also mache ich hier eigentlich nichts falsch mit dem 
CCP Register.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.