微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM9S3C2440—ADC和触摸屏控制详解

ARM9S3C2440—ADC和触摸屏控制详解

时间:11-26 来源:互联网 点击:

cal_cpu_bus_clk();//HCLK=100MPCLK=50M

}

staticvoidcal_cpu_bus_clk(void)

{

staticU32cpu_freq;

staticU32UPLL;

U32val;

U8m,p,s;

val=rMPLLCON;

m=(val>>12)&0xff;

p=(val>>4)&0x3f;

s=val&3;

//(m+8)*FIN*2不要超出32位数!

FCLK=((m+8)*(FIN/100)*2)/((p+2)*(1//FCLK=400MFIN=12000000

val=rCLKdivN;

m=(val>>1)&3;

p=val&1;

val=rCAMdivN;

s=val>>8;

switch(m){

case0:

HCLK=FCLK;

break;

case1:

HCLK=FCLK>>1;

break;

case2:

if(s&2)

HCLK=FCLK>>3;

else

HCLK=FCLK>>2;

break;

case3:

if(s&1)

HCLK=FCLK/6;

else

HCLK=FCLK/3;

break;

}

if(p)

PCLK=HCLK>>1;

else

PCLK=HCLK;

if(s&0x10)

cpu_freq=HCLK;

else

cpu_freq=FCLK;

val=rUPLLCON;

m=(val>>12)&0xff;

p=(val>>4)&0x3f;

s=val&3;

UPLL=((m+8)*FIN)/((p+2)*(1

UCLK=(rCLKdivN&8)?(UPLL>>1):UPLL;

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top