串口接收的怪现场!!!

[复制链接]
2011|16
 楼主| zjucsd 发表于 2015-1-29 09:20 | 显示全部楼层 |阅读模式
昨天在调试串口的时候,用串口工具发送 bd bd bb ba b9 b8 b7 b6 b5 b4 b3 b2 b1 b0的时候,LPC2214仿真中断后发现接收到的是ad bd ab ba a9 b8
a7 b6 a5 b4 a3 b2 a1 b0,发现接收到的数据从第一个开始隔一个所有的高四位都是错误的。当发送a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad的时候接收
又都是正常的。
void UART1_Init(void)
{
uint16 Fdiv;

U1LCR=0x80;                 //8位为高电平的时候,可以设置波特率
Fdiv=(Fpclk/16)/57600;  // 波特率为57600
U1DLM=Fdiv/256;
U1DLL=Fdiv%256;
U1LCR=0x03;        // 8个数据位,1个起始位,1个结束位。
U1FCR=0xC1;        // 使能FIFO,14字节触发。
U1IER=0x01;        // 允许接收中断

PCREV=0;                              //有数据从上位机收到标志
PCSEND=0;                             //有数据要向上位机发送标志
UART1INIT=0;                            //数据发送完毕标志和还有后续数据标志

VICVectCntl7=0x27;
VICVectAddr7=(uint32)IRQ_UART1;
COMENABLE1;                              // 使能串行通讯中断
}
// 串行通讯中断响应程序
void __irq  IRQ_UART1(void)
{
    uint8 i;

    if(0x04==(U1IIR&0x0f))
{
     PCREV=1;      // 收到一帧数据
}
  
for(i=0;i<14;i++)
  datapc[i]=U1RBR;       // 只要读走数据就可以清除中断标志

VICVectAddr = 0x00;              // 中断处理结束
}
有哪位大侠碰到过这类问题呀,咨询缘故!!!
戈卫东 发表于 2015-1-29 09:35 | 显示全部楼层
可能是波特率不准
戈卫东 发表于 2015-1-29 09:35 | 显示全部楼层
可能是波特率不准
戈卫东 发表于 2015-1-29 09:36 | 显示全部楼层
或者收发器太差
戈卫东 发表于 2015-1-29 09:36 | 显示全部楼层
或者干扰太大
 楼主| zjucsd 发表于 2015-1-29 09:38 | 显示全部楼层
波特率没问题 57600
 楼主| zjucsd 发表于 2015-1-29 09:39 | 显示全部楼层
干扰不太可能,因为尝试了多次,都是这样的现象,要是干扰的话没这么规律呀
yangshoot 发表于 2015-1-29 09:45 | 显示全部楼层
降低波特率,看是否正常。
查下芯片手册 ,波特率的误码率是多少,如果要用高波特率,最好加奇偶校验。
波特率不准,电路干扰都会造成串口出错
chailiyh 发表于 2015-1-29 09:50 | 显示全部楼层
下面开始妄言..
1)是否可把仿真改成透传?即单片机接到串口数据之后,立即将数据通过同一个串口发送出来;
2)检查波特率设置,如相应时钟频率、分频系数等是否正确;
3)降低波特率,如19200、9600甚至更低再进行测试;
4)禁用FIFO功能,单字节收发尝试一下。
 楼主| zjucsd 发表于 2015-1-29 10:03 | 显示全部楼层
谢谢各位大侠,原因已找到,不是软件问题,是板子硬件有问题
cainiao_123 发表于 2015-1-29 11:09 | 显示全部楼层
可能是硬件的干扰
yinhexi 发表于 2015-1-29 15:17 | 显示全部楼层
data编码后传送,硬件很容易错。例如:dsp接电脑232串口,不校验误码高。
shell.albert 发表于 2015-1-29 17:37 | 显示全部楼层
这种情况下最好是短接Tx/Rx自测一下。
mmuuss586 发表于 2015-1-29 17:57 | 显示全部楼层

学习了,硬件不稳定还有这现象;
血刀老祖 发表于 2015-1-30 11:13 | 显示全部楼层
zjucsd 发表于 2015-1-29 10:03
谢谢各位大侠,原因已找到,不是软件问题,是板子硬件有问题

具体什么问题,说说,大家也学习一下,以后预防类似问题
gaocuntong 发表于 2015-1-30 14:49 | 显示全部楼层
这种情况我也遇到过   其实硬件就是硬件   它对数据的破坏是有规律的   
dirtwillfly 发表于 2015-1-31 11:33 | 显示全部楼层
gaocuntong 发表于 2015-1-30 14:49
这种情况我也遇到过   其实硬件就是硬件   它对数据的破坏是有规律的

:handshake学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

351

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部