没有解决 又下了一个新版的 User's manual 关于PLL部分说的很详细,但是很复杂...
在一点一点啃
恩。如果有问题还要问的话重新开帖吧,这个帖子出问题了。。我们这的人看不到,我只能从您的回复中看到。 TinyStrong 发表于 2013-5-20 17:11 static/image/common/back.gif
send() 是4楼那样写的
用串口助手抓的数据只有0F 00两个数据
但问题应该不是出在send上面....
您好,我这看到最后回复是您的用户名,但是在这看不到您的回复信息,请问您的问题现在解决进度如何,麻烦您回帖说明一下。以便于我们继续帮您解决。 那ROM初始化的时钟的频率给的范围也太大了,怎么去算分辨率呢? 楼主问题解决了吗?现在是什么进度? 楼主的波特率不是115200吧!!UBRDIV0 = 34是115200不知道你的串口助手是不是设置的波特率和程序的一样!而且你贴的代码不全,send函数在哪找的呢?我给你贴一个代码,是我已经调试通过了的你参考下void Uart_Init()
{
rGPACON = (rGPACON & ~(0xff<<0)) | (0x22<<0);
rGPAPUD = (rGPAPUD & ~(0xf<<0)) | (0x1<<0); // RXD0: Pull-down, TXD0: pull up/down disable
rULCON0=rULCON0&(0xFFFFFFFF)|(0<<6)|(0<<3)|(0<<2)|(3<<0);;
rUCON0=rUCON0&(0xFFFFFFFF)|(0<<10)|(1<<9)|(1<<8)|(0<<7)|(0<<6)|(0<<5)|(0<<4)|(1<<2)|(1<<0);
rUFCON0=rUFCON0&(0xFFFFFFFF)|(0<<6)|(0<<4)|(0<<2)|(0<<1)|(0<<1);
rUMCON0 = (0<<5)|(0<<4)|(0<<0);
rUBRDIV0=34;
rUDIVSLOT0=0xDDDD;
}
void Uart_SendByte(int data)
{
while(!(rUTRSTAT0&0x02));
WrUTXH0(data);
}
void Uart_Sendstring(char *str)
{
while(*str)
Uart_SendByte(*str++);
}
void Uart_Printf(char *fmt,...)
{
va_list ap;
char string;
va_start(ap,fmt);
vsprintf(string,fmt,ap);
Uart_Sendstring(string);
va_end(ap);
} void Uart_SendByte(int data)
{
while(!(rUTRSTAT0&0x02));
WrUTXH0(data);
}
楼主的send函数式这样写的吗? 楼主是以什么方式接受的呢?是用的串口助手吗?然后你的代码是以字符串的方式发送的吗?楼主好好看看吧!!! 裸板uart没有做过,不过我觉得你可以看看uboot里面的关于uart的一些东西,应该会对你有些帮助的
页:
[1]