|
5
在这段程序编译出bin文件后,烧写就是不会出现数字,是怎么回事,急急急。。。:
#include "def.h"
#define GLOBAL_CLK 1
#include "2440addr.h"
#include "option.h"
U8 sent[]={1,2,3,4,5,6,7,8,9,0},i;
extern void Delay(int);
static void cal_cpu_bus_clk(void)
{
U32 val;
U8 m,p,s;
val=rMPLLCON;
m=(val>>12)&0xff;
p=(val>>4)&0x3f;
s=val&3;
FCLK=((m+8)*(FIN/100)*2)/((p+2)*(1<<s))*100;
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;
}
void uart_init(int band)
{
int i;
rGPHCON=(1<<7)|(1<<5);
rUFCON0=0x0;
rUMCON0=0x0;
rULCON0=0x3;
rUCON0=0x245;
rUBRDIV0=((int)(PCLK/band/16)-1);
for(i=0;i<100;i++);
}
void Main(void)
{
cal_cpu_bus_clk();
uart_init(115200);
while(1)
{
while(!(rUTRSTAT0&0x2));
WrUTXH0(sent[i]);
i++;
if(i>=10)
{
i=0;
}
Delay(1000);
}
}
|
|