[求助] io口转串口

garfield_nuo   2012-3-29 16:58 楼主

我写了个单片机io口转串口的程序,但是串口助手在开机的时候总是不能识别正确的起始信号。但是每次复位就没有任何问题。

if(send_flag)  
  { 
   if(sendbitcount==0)        //sendbitecongt位发送单字bit位节计数
    {VTK_TX=0;TR1=1;         //发送起始位
    sendbyte=senddat[sendbytecount];
    //sendbyte=0xaa;
    sendbitcount++;}
   else
   {
    if(sendbitcount==9)
    {
     VTK_TX=1;   //发送结束位
     sendbitcount=0;
     sendbytecount++;   //sendbytecount发送字节计数 
     if(sendbytecount==4)
     {//TR1=0;
     //send_flag=0;
     sendbytecount=0;}
    }
    else
    {
     VTK_TX = (bit)(sendbyte & 0x01);     //发送单个bit位
       sendbyte = sendbyte>>1;
     sendbitcount++;
    }
   }
  }

 

发送函数在中断中完成的,开始放在中断外面没有上述问题。但是会被其他中断干扰。

VTK_TX=1;
 for(i=1000;i>0;i--)
 {}

在主函数中有如上代码为了防止开机电平抖动。不知道这样处理可以不?

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复