打印

该通讯要求能达到吗?

[复制链接]
1474|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
helloCan|  楼主 | 2007-8-20 10:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近有个小项目需要采用RS-422通讯,通讯要求如下:
通讯波特率为:串口工作模式3,11bit,波特率为115.2K
用户要求每秒传送有效数据768个数据帧即4608字节/S,帧格式如下:             
数据帧格式定义如下:用于发送浮点数据
起始标志(0x16) 数据字节1    数据字节2    数据字节3    数据字节4    数据校验字节  共计6字节数据

但我在进行调试时,发现RS-422通讯根本达不到如此多的数据,最多能达到每秒20个有效数据帧即120字节/S。
发送数据时是一字节一字节发送,TB8位为空,串口发送子程序如下: 
     for(i=0;i<6;i++)          //一帧数据包括6个字节
     {    
      SBUF=SendBuf;   
       while(!TI_0);      
       TI_0=0;  
      delay_1ms(x);    //延时程序,延时时间约为x ms;
}    

在双方通讯时,当波特率为115.2Kbps或9.6Kbps时,若发送延时时间小于3ms时,接收方接收数据就会出现丢帧或帧不完整现象。
请高手帮分析分析,该通讯要求能否达到,如何达到? 谢谢啦!!!

相关帖子

沙发
fuzichun| | 2007-8-21 08:53 | 只看该作者

自己先多想想

就象这个也容易想通的 

使用特权

评论回复
板凳
a12345678| | 2007-8-21 22:41 | 只看该作者

你应该用中断,不应该用延迟,特别是ms级延迟

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

73

帖子

1

粉丝