最近有个小项目需要采用RS-422通讯,通讯要求如下:<br />通讯波特率为:串口工作模式3,11bit,波特率为115.2K<br />用户要求每秒传送有效数据768个数据帧即4608字节/S,帧格式如下: <br />数据帧格式定义如下:用于发送浮点数据<br />起始标志(0x16) <font color=#FF0000>数据字节1 数据字节2 数据字节</font><font color=#FF0000>3 数据字节4 </font>数据校验字节 共计6字节数据<br /><br />但我在进行调试时,发现RS-422通讯根本达不到如此多的数据,最多能达到每秒20个有效数据帧即120字节/S。<br />发送数据时是一字节一字节发送,TB8位为空,串口发送子程序如下: <br /> for(i=0;i<6;i++) //一帧数据包括6个字节<br /> { <br /> SBUF=SendBuf; <br /> while(!TI_0); <br /> TI_0=0; <br /> delay_1ms(x); //延时程序,延时时间约为x ms;<br />} <br /><br />在双方通讯时,当波特率为115.2Kbps或9.6Kbps时,若发送延时时间小于3ms时,接收方接收数据就会出现丢帧或帧不完整现象。<br />请高手帮分析分析,该通讯要求能否达到,如何达到? 谢谢啦!!!<br /><br /> |
|