⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system.c

📁 下位机程序
💻 C
字号:
#include "2410addr.h"
#define	EXT_XTAL_FREQ	12000000
unsigned int sys_fclk;
unsigned int sys_hclk;
unsigned int sys_pclk;
unsigned int sCLKDIVN;

static void SetHclkPclk()
{
	if(sCLKDIVN&2)
		sys_hclk = sys_fclk>>1;
	else
		sys_hclk = sys_fclk;
	
	if(sCLKDIVN&1)
		sys_pclk = sys_hclk>>1;
	else
		sys_pclk = sys_hclk;
}
//************************[ HCLK, PCLK ]***************************
void ChangeClockDivider(int hdivn,int pdivn)
{
     // hdivn,pdivn FCLK:HCLK:PCLK
     //     0,0         1:1:1 
     //     0,1         1:1:2 
     //     1,0         1:2:2
     //     1,1         1:2:4
    rCLKDIVN = (hdivn<<1) | pdivn; 
    sCLKDIVN = (hdivn<<1)|pdivn;   
    if(hdivn)
        MMU_SetAsyncBusMode();
    else 
        MMU_SetFastBusMode();
}
//*************************[ MPLL ]*******************************
void ChangeMPllValue(unsigned int val)
{
    unsigned int i;
    unsigned char mdiv, pdiv, sdiv;
    rMPLLCON = val;
    mdiv = (val>>12)&0xff;
	pdiv = (val>>4)&0x3f;
	sdiv = val&0x3;
	i = (pdiv+2);
	while(sdiv--)
		i *= 2;
	sys_fclk =(unsigned int) ((mdiv+8)*EXT_XTAL_FREQ)/i;
	SetHclkPclk();
    for(i=0;i<500;i++);
}

//**************************[ UPLL ]*******************************
void ChangeUPllValue(int mdiv,int pdiv,int sdiv)
{
    rUPLLCON = (mdiv<<12) | (pdiv<<4) | sdiv;
}
//interupt
void ISR_init(void)
{
    rINTMOD     = 0x0;                     //All=IRQ mode
    rINTMSK     = BIT_ALLMSK;              //All interrupt is masked.
    rINTSUBMSK  = BIT_SUB_ALLMSK;          //All sub-interrupt is masked. <- April 01, 2002 SOP
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -