Das Elektor-Forum schließt seine Pforten (siehe auch http://www.elektormagazine.de/forum). Ab Freitag, den 01. März, ist es nicht mehr möglich, sich im Forum einzuloggen. Alle Inhalte des Forums bleiben jedoch bis Ende März noch sichtbar. Am 01. April wird das Forum schließlich komplett geschlossen.

R32C Sinusgenerator

Postby ttom » Sun Mar 15, 2009 12:00 am

Hallo, im aktuellen Listing fehlt doch die ConfigureOperatingFrequency() - Prozedur, fehlt vielleicht noch etwas ? Letze Klammer auf jeden Fall auch....


Thomas
ttom
 
Posts: 6
Joined: Fri Jan 03, 2014 1:48 pm

Postby js222 » Mon Mar 16, 2009 12:00 am

Das "ConfigureOperatingFrequency()" ist in hwsetup.c
Aber richtig, mindestens die letzte Klammer fehlt.

Jörg.
js222
 
Posts: 183
Joined: Fri Jan 03, 2014 1:48 pm

Postby 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 29 times
marc oliver r.
 
Posts: 8
Joined: Fri Jan 03, 2014 1:48 pm


Return to R32C-Projekt

Who is online

Users browsing this forum: No registered users and 1 guest