小弟刚接触串口通信,还请大家多多帮忙。我用mscomm控件实现串口通信,并向串口发送不同的指令。其中指令是由随机算法得到的。我想在串口得到一个“真”信号时输出一条指令,得到“假”信号时则不发送指令。可是我把这段随机代码加到oncomm()函数后,程序就没相应了。不知道什么原因,还请高手们帮忙解决,具体该怎么做。随机代码如下:#include "stdlib.h"
#include "time.h"void main(void)
{int i,j=1,k;
  int I=0;
  int flag[1601]={0};//保存指令的数组共1600个,初始值都为同一种。先用0代替了
  int num[3]={0};//在1600个指令中每种指令的个数(3表示算上初始指令共3种指令) srand((unsigned)time(NULL));
 for(i=1;i<=1600;i++)//指令1,在这用“2”代替
  if(i%100)
  {
   if(num[1]<(27+(((i%400)<=100&&(i%400!=0))?0:1)))
   {   
    if(!flag[I=(rand()%100)+(i/100)*100])
    {
     flag[I]=2;
     ++num[1];
    }
    else
    {
     i--;
     continue;
    }  
   }
  }
  else
  {
   num[1]=0;
   continue;
  }
 }
 
 for(i=1;i<=1600;i++)//指令2,在这用“3”代替
 {
  if(i%100)
  {
   if(num[2]<10)
   {
    if(!flag[I=(rand()%100)+(i/100)*100])
    {
     flag[I]=3;
     ++num[2];
    }
    else
    {
     i--;
     continue;
    }
   }
  }
  else
  {
   num[2]=0;
   continue;
  }
 }