by marc oliver r. » Thu Mar 19, 2009 12:00 am
Hallo,
Im Artikel sind aus Platzgründen nicht alle Funktionen angegeben. Diese lassen sich jedoch immer herunter laden.
Die Operating Frequency Funktion sieht so aus und ist vollständig:
void ConfigureOperatingFrequency(void)
{
unsigned short wait=0;
prcr = 0xFF; // enable write to control registers
prcr2 = 0x80; // enable write to CM3 register
prr = 0xAA; // enable write to CCR, FMCR, PBC register
// value depends on setting of CCR register
pm2 |= 0x44; // processor mode register 2: enable clock change
cm0 = 0x02; // system clock control register 0: output f8 on CLKout
cm1 = 0x20; // system clock control register 1
cm2 = 0x00; // oscillation stop detect register
cm3 = 0x02; // low speed mode clock control register
tcspr = 0x00; // count source prescaler register
tcspr = 0x80; // count source prescaler register
cpsrf = 0x00; // clock prescaler reset register
ebc0 = 0x00; // external bus control
ebc1 = 0x00; // external bus control
ebc2 = 0x00; // external bus control
ebc3 = 0x00; // external bus control
pbc = _PBC; // Peripheral bus clock
ccr = CCR1; // clock control register
ccr = CCR2; // clock control register
prcr = 0xFF;
plc0 = _plc0; // pll control register 0
prcr = 0xFF;
plc1 = _plc1; // pll control register 1
seo = 0; // pll mode
while (wait<0x8000)
wait++;
bcs = 0; // base clock source is PLL
prcr = 0xFF;
pm3 = _pm3; // peripheral clock = PLL clock / 4
pm2 &= ~0x02; // processor mode register 2: disable clock change
prcr = 0x00;
}
- Attachments
-
hwsetup.c
- (3.63 KiB) Downloaded 33 times