注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
garfield_nuo的个人空间 https://home.eeworld.com.cn/space-uid-330214.html [收藏] [复制] [分享] [RSS]
日志

io口转串口

已有 1358 次阅读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--)
 {}

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

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章