Gast
#1439920
Hallo! Verwende einen Freescale MC.
Will einen Delay funktion schreiben, habe ein bischen gegoogelt und eine
Delay Funktion gefunden. Kann mir die jemand erklären, wenn möglich auch
vorrechnen. Habe das probiert, es häbgt ein 4Mhz Quarz dort, wenn ich
delay (1000) teste komme ich auf ca. 1,4s- möchte aber eine sekunde...
Die Einstellungen sind im Datenblatt ab seite 135 beschrieben
// Clear COP Watchdog timeout
SOPT1 = 0x00;
// Select FBE MCG mode (IREFS=0, CLKS=10)
MCGC1 = 0xB8;
// LP=0 and selects external high frequency crystal clock
MCGC2 = 0x36;
// PLLS=0
MCGC3 = 0x00;
// Wait until the initialization cycle of the external crystal clock is
completed
while(!(MCGSC&0x02))
#define BUS_CLOCK 4000
void delay (unsigned int time)
{
unsigned int temp;
for(;time;time--) for(temp=(BUS_CLOCK/23);temp;temp--);
}