久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5203|回復: 1
收起左側

求解釋,485通信一次接收多個數據的中斷怎么不能用?

[復制鏈接]
ID:59780 發表于 2014-5-7 14:28 | 顯示全部樓層 |閱讀模式
void ser() interrupt 4   //串行中斷服務程序
{
unsigned char i,j,Check,tmp;
if(RI==1)      //接收標志位為1時,接收
  {
  RI=0;
  tmp=SBUF;  
  }
while(!RTUOverFlag)    //結束標志位為0時
  {   
  if(RTUStartFlag==0) //開始標志位為0時
   {
   if(tmp!='@')  //判斷數據幀的起始位,不是@時不接收
    {
    RTUOverFlag=0;
    RTUStartFlag=0;        
    return;
    }     
   if(tmp=='@') //開始接收
    {
    UART_R_RTU[RTUPst]=tmp;  // 接收起始位
    RTUPst++;   
    RTUOverFlag=0;
    RTUStartFlag=1;//已接收起始位
    return;
    }
   }
  else    //接收剩余數據
   {
   if(tmp!='#') //接收結束位#之前的數據
    {
    UART_R_RTU[RTUPst]=tmp;
    RTUPst++;
    return;
    }
   else  //接收結束位#
    {                           
    UART_R_RTU[RTUPst]=tmp;
    RTUOverFlag=1; //完成接收,置標志位
    ES=0;   //關串口中斷
    REN=0;   //不允許接收
    if(UART_R_RTU[1]!=ExtsAddr) //判斷數據第二位是否與本機地址相同,如果不相同
     {
     for(j=0;j<10;j++)   //數據清零,標志位清零,允許接收,開串口中斷
      UART_R_RTU[j]=0;
     RTUPst=0;
     RTUOverFlag=0;
     RTUStartFlag=0;
     REN=1;
     ES=1;
     return;
     }
    Check=0;  //初始化校驗位
    RTUDataLen=UART_R_RTU[3]; //讀數據長度
    for(i=0;i<3+RTUDataLen;i++)     //校驗位
     {
     Check=Check+UART_R_RTU[i+1];
     }
    if(Check!=UART_R_RTU[RTUPst-1]) //判斷校驗位是否與接收到的數據中的校驗位相同,如果不相同
     {
     for(j=0;j<10;j++)  //清零數據,清標志位,允許接收,開串口中斷
      UART_R_RTU[j]=0;
     RTUPst=0;
     RTUOverFlag=0;
     RTUStartFlag=0;
     REN=1;
     ES=1;
     return;
     }
    else        //接收到完整數據情況下,置接收完成標志,清接收標志為下次接收做準備
     {     
     UARTRTUDataCheckedFlag=1;     
     RTUFunc=UART_R_RTU[2];
     RTUPst=0;
     RTUOverFlag=0;
     RTUStartFlag=0;
     REN=1;
     ES=1;
     return;
     }
    }
   }  
  }
}
回復

使用道具 舉報

ID:2318 發表于 2014-7-8 17:15 來自手機 | 顯示全部樓層
你這個程序是不是只能接受第一個數據?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品视频91 | 精品欧美一区二区久久久伦 | 久久久久久亚洲精品不卡 | 日韩精品网站 | 日韩欧美国产一区二区三区 | 黄色在线免费看 | 天天爽天天操 | 日本三级日产三级国产三级 | 国产精品精品久久久 | 最新国产精品视频 | 在线欧美小视频 | 逼逼网 | 亚洲女人的天堂 | 中文字幕人成人 | 久久久www成人免费精品 | 欧美日韩在线一区二区 | 黑人巨大精品欧美一区二区免费 | 久草视频在线播放 | av中文字幕在线观看 | 久久精品男人的天堂 | 在线欧美亚洲 | 欧洲精品码一区二区三区免费看 | 国产一区999 | 精品免费 | 国产精品亚洲综合 | 一区二区三区四区在线视频 | 成人免费视频网站在线看 | 久精品久久 | 免费视频一区二区 | 四色成人av永久网址 | 欧美日韩国产精品激情在线播放 | 久久69精品久久久久久久电影好 | 久久精品欧美一区二区三区麻豆 | 欧美成人精品 | 亚洲精品中文在线 | 成人在线一级片 | 久久久久久高潮国产精品视 | 午夜影院网站 | 久久久久久亚洲精品 | 精品欧美一区二区久久久伦 | 午夜视频网站 |