#include "S3C2440.h"
#define MPLL_400MHz ((92 << 12)|(2 << 4)|(1 << 0))
void delay(unsigned int t)
{
for(;t>0;t--);
}
void clock_init(void)
{
int r1;
LOCKTIME = 0xffffffff;
CLKDIVN = 0x05;
__asm
{
mrc p15, 0, r1, c1, c0, 0
orr r1, r1, #0xc0000000
mcr p15, 0, r1, c1, c0, 0
}
MPLLCON = MPLL_400MHz;
}
int main()
{
int a= 50000;
clock_init();//初始化时钟为400MHz
GPBCON = 0x15400;
while(1)
{
GPBDAT = 0x00;//点亮LED
delay(a);
GPBDAT = 0x1e0;//关闭LED
delay(a);
}
}
LED闪烁的程序,把这代码烧进Nor Flash中运行,用万用表测出LED每秒闪4.2次,也就是说delay(50000)都用了不少时间,怎么会这么慢?我用STM32F4测试delay(a),延时一秒a的值都要几千万。 |