您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [求助]BF544的UART3 loopback测试单步调试接... 
本帖共有508个阅读者
发表帖子 发表投票 回复主题
[求助]BF544的UART3 loopback测试单步调试接收寄存器值同发送一样,全速时跑偏
vierh(论坛新手)
vierh
头衔:社区公民
帮派:无帮无派
帖数:7
金钱:147
积分:7
注册时间:2014/11/6
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]BF544的UART3 loopback测试单步调试接收寄存器值同发送一样,全速时跑偏
代码如下:
void main()
{
unsigned char i,j;
init_cpu();
init_Uart3();
*pUART3_THR=0xaa;
printf("%x\n",*pUART3_THR);
        j=*pUART3_RBR;
        NOP;
printf("%x",*pUART3_RBR);
}void init_cpu()
{
*pPLL_CTL = 0x2000;
idle();
*pPLL_DIV = 0x3;
ssync();
*pVR_CTL = 0x40EB;
ssync();
idle();   
}
void init_Uart3()
{
  *pPORTB_FER |=PB6|PB7;
  *pPORTB_MUX |=0xffff0fff;  //复用管脚为Uart3的收发
  
  *pUART3_GCTL=0x0001;  //使能UART
  *pUART3_DLL=0x0072;  //比特率
  *pUART3_DLH=0x0000;
  *pUART3_LCR=0x0003;  //8位字节1个终止位,不进行奇偶校验
  *pUART3_MCR=0x0012;
}
加了延时也没有用,全速时出来的值为f5.



这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2014/12/1 11:05:14
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

串口跑错数据,通常都是波特率偏差造成的,你检查你波特率配置的值是否有偏差,还有就是232芯片上的电容,可以换稍微大一点。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/12/3 22:25:17
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159192 Call, 1 Queries, Processed in 0.015625 second(s),