搜索
bottom↓
回复: 6

单片机之间串口传输数据误码率很高~~~求助!!!!

[复制链接]

出0入0汤圆

发表于 2012-5-11 11:49:05 | 显示全部楼层 |阅读模式
本帖最后由 tianming 于 2012-5-11 11:52 编辑

现在在做单片机串口通信,首先将几K大小的数据组成数组data_test分别存入两个单片机中,一单片机利用中断,中断定时1.25ms,当时间到的时候,i由0开始递增将一个八位数据送给SBUF,通过串口发送出去,波特率9600,无校验位。
利用另一单片机的串口进行接收,从开始接收时,每接收一个八位数据,就将该数据与预置的数组data_test[j]中的数据对比,如果不相等,则误码计数器加1,之后j++,再接收下一组数据,进行对比。
可是最终的结果是发送1000组以内的数据时,没有问题的。当发送5000组数组的时候,误码数达到了一半还多点。两单片机的串口设置是一样的。
正在郁闷中,求高手指教~~~

单片机使用的是STC12C5A60S2,晶振22.1184M无源晶振

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-5-11 12:00:05 | 显示全部楼层
你发送函数是在那里等吗,还是用发送中断处理,我觉得后者会好得多。

出0入0汤圆

发表于 2012-5-11 12:16:47 | 显示全部楼层
同上,接收的那个单片机是不是没使用串口中断方式?
如果用循环查询方式没协议的话,一旦查询不及时漏一次后面的就全部错乱了

出0入0汤圆

 楼主| 发表于 2012-5-11 14:31:14 | 显示全部楼层
谢谢楼上二位!是的,我是用的在定时器中断里进行发送处理的,定时到,则给SBUF赋值。由于波特率是9600,中断定时是1.25ms,所以时间上是足够用的。
确实是没有协议,那有没有什么更好的方法呢~~~

出0入0汤圆

发表于 2012-5-11 15:56:26 | 显示全部楼层
"发送5000组数组的时候,误码数达到了一半还多点。"
我觉得是你数据字节错位了.
因为其中某一字节丢失,导致你后面总是拿data_test[j]与data_test[j+1]比较.

出0入0汤圆

发表于 2012-5-11 16:04:39 | 显示全部楼层
方法一:
        发送端
        unsigned char nTxVal=0;
        ..............
        SBUF=nTxVal++;
        ..............
       
       
        接收端
        unsigned char nRxVal0,nRxVal1;
        unsigned int  nErrCnt;
       
        nRxVal0=0;
        nErrCnt=0;
       
        ..............
        nRxVal0=nRxVal1+1;
        nRxVal1=SBUF;
        if(nRxVal0!=nRxVal1)        nErrCnt++;
        ..............
       
方法二:
       
        把接收端的TXD接到PC上,接收端MCU没接收一个字节就向PC发送一个字节,在PC端验证.

出0入0汤圆

 楼主| 发表于 2012-5-11 19:07:35 | 显示全部楼层
谢谢ls,我试试~~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 02:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表