华维科技 单片机程序 单片机开发板 单片机学习板 单片机编程  

 

 

 

 

 

 

                        51 AVR PIC 三星 义隆 合泰 十速 松翰 现代
                                串行通信传送大量不连续不规律数据程序的实现
           日期: 2008-06-27             发表人: 比尔盖茨熊         文章来源:本站原创,如有转载请注明出处
在串行通信中,有时候要用到传送大量不连续不规律数据的问题,我们怎么来判断数据是否传送结束了呢,对接收的每个字节查询,如有结束命令就停止接收,这种方法大大降低了传送的速度与效率,在不连续不规律的数据传送中往往会有很多安全隐患,在此向大家分享一个延时判断的方法,对于高手可能觉得太低级了,如果你是高手请退出此贴.对初学者可能有一定的帮助.


这里具体介绍下编程思路
//全局变量
uint TimeOver;//超时变量
//中断部分
SetRecvFlag;//设置接收标志
Buffer=串口缓冲寄存器;
TimeOver=10000;//超时时间可以根据发送段的最大间断时间来设置,要留一定的余量,保守一点好
//子函数部分
TimeOver=10000;
while(1)
{
if(GetRecvFlag)
{
  ClrRecvFlag;
  //...数据处理
}
Delayus(10);
TimeOver--;
if(TimeOver==0)
{
  //表示超时退出接收
  break;
}
}

 

                                     返回首页

 

                                          版权所有@华维科技
                                        建议浏览分辨率1024*768