打印

串口通信上位机发送出错后重发

[复制链接]
1392|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
凌滨|  楼主 | 2013-8-23 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我的思路是收到响应后进入中断:
void Uart_Int(void) interrupt 4
{
static uchar j=0;
        EA = 0;
        if(RI == 1)   //当硬件接收到一个数据时,RI会置位
        {
          recieve[j]=SBUF;
                j++;
                 
           if(j==6)     //收到的数据是几位,j就等于几
            {
                                frame_Parse();
                                j=0;
            }               
                        
               
    RI = 0;

        }        
        EA = 1;

}

void frame_Parse()  //分析返回的数据看发送是否出错
{
  if(recieve[4]==0) // 如果发送正确,回去继续发送
        {
    return;
   }
        if(recieve[4]!=0)
        {
            //缺少发送出错后重新发送的函数
        }
   
}

主函数是:
void main()
{
  Uart0_Init();
  Int_Init();
  while(1)        
        {  
        sendchar(0,0x01ff,0x01ff);
         sendchar(0,0x01ff,0x01ff);
         sendchar(0,0x01ff,0x01ff);
         sendchar(0,0x01ff,0x01ff);
  }
}
上面缺少的发送出错后重新发送的函数怎么写呢?
沙发
mkmklyuyu| | 2013-8-23 10:23 | 只看该作者
怎么不是用STM32的芯片呢?!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

12

帖子

1

粉丝