TinyStrong 发表于 2013-5-21 09:45:05

飞凌-路飞 发表于 2013-5-20 20:14:38

楼主的波特率不是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);       
}

TinyStrong 发表于 2013-5-20 17:13:59

TinyStrong 发表于 2013-5-20 17:11:20

飞凌-路飞 发表于 2013-5-18 15:37:48

void Uart_SendByte(int data)
{
        while(!(rUTRSTAT0&0x02));
       WrUTXH0(data);
       
}
楼主的send函数式这样写的吗?

飞凌-路飞 发表于 2013-5-18 10:25:37

楼主是以什么方式接受的呢?是用的串口助手吗?然后你的代码是以字符串的方式发送的吗?楼主好好看看吧!!!

飞凌-unix 发表于 2013-5-17 21:50:33

裸板uart没有做过,不过我觉得你可以看看uboot里面的关于uart的一些东西,应该会对你有些帮助的
页: 1 [2]
查看完整版本: OK6410 裸板 UART 问题...