×
单片机 > 单片机程序设计 > 详情

ARM9之2440时钟

发布时间:2020-06-04 发布时间:
|

其实ARM9并没有什么了不起的,和ARM7,6基本是一样的,裸奔起来并没有什么不同,个人感觉八错!倒是那万能的C语言却是真的! 


U32 val;

U8 m, 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<

val = rCLKDIVN;

m = (val>>1)&3;

p = val&1;        

val = rCAMDIVN;

s = val>>8;

switch (m) {

case 0:

HCLK = FCLK;

break;

case 1:

HCLK = FCLK>>1;

break;

case 2:

if(s&2)

HCLK = FCLK>>3;

else

HCLK = FCLK>>2;

break;

case 3:

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;



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法