📄 initclock.c
字号:
/*
*********************************************************************************************************
* File Name:InitClock.C
* Description: 对系统时钟进行初始化.
* Author: kaka (sn.kaka@yahoo.com).
*********************************************************************************************************
*/
#include "44b0x.h"
#include "Defines.h"
#if Fin==8000000
#define MDIV 124//112 //92 // Fin = 8 MHz, Fout = 60 MHz.if MDIV ==92,the Fout=50MHz
#define PDIV 6
#define SDIV 1
#elif Fin==10000000
#define MDIV 92 // Fin = 10 MHz, Fout = 50 MHz.
#define PDIV 8
#define SDIV 1
#else
#error "no define input clk"
#endif
/*
*********************************************************************************************************
* Description: 初始化系统时钟.
*********************************************************************************************************
*/
void InitClock (void)
{
LOCKTIME = 0x0fff;
PLLCON = (MDIV << 12) + (PDIV << 4) + SDIV;
CLKCON = 0x7ff8; // All v on Clock generator.
}
//==============================================
//function :change the CPU 's clock everytime
// :可以随时进行调频,当然要在
// :cpu允许的频率范围之内
// :这些功能只是做了功能性的验证
// :结果是没问题~~呵呵
// :可以在任务切换的时候调频
// :建议在切换之后延时一段时间
//data :20080710
//data :
//
//
// By kaka
//
//==============================================
void InitClock25M (void)
{
LOCKTIME = 0x0fff;
PLLCON = (42 << 12) + (6 << 4) + 1;
CLKCON = 0x7ff8; // All v on Clock generator.
}
void InitClock30M (void)
{
LOCKTIME = 0x0fff;
PLLCON = (52 << 12) + (6 << 4) + 1;
CLKCON = 0x7ff8; // All v on Clock generator.
}
void InitClock40M (void)
{
LOCKTIME = 0x0fff;
PLLCON = (52 << 12) + (4 << 4) + 1;
CLKCON = 0x7ff8; // All v on Clock generator.
}
/*
*********************************************************************************************************
* END
*********************************************************************************************************
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -