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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2890|回復: 4
收起左側

單片機+RS485通訊如何準確提取到數據包?

[復制鏈接]
回帖獎勵 5 黑幣 回復本帖可獲得 5 黑幣獎勵! 每人限 1 次
ID:323902 發表于 2019-7-11 14:42 | 顯示全部樓層 |閱讀模式
按一下觸摸屏,會發送很多次同樣的指令,如何提取到其中一個完整的數據包?現有程序如下,可以實現串口助手和從機單片機的通訊來啟停機,但改成觸摸屏作主機就不行了:

單片機源程序如下:
#include "stc81.h"
#include "chuankou.h"
#include "string.h"

extern uchar bufferR[20];
extern uchar bufferS[20];
extern uchar wptr;
void carryout()
{
if(bufferR[7]==0x00&&bufferR[8]==0xaa)//設置/動作
{
  
  if(bufferR[9]==0x00&&bufferR[10]==0x00)//啟動
  {
    RUN11=0;
    RUN21=0;
    RUN31=0;
    RUN41=0;
   STOP11=0;
   STOP21=0;
   STOP31=0;
   STOP41=0;
   delay(50);
   bufferR[9]=0x10;
   bufferR[10]=0x10;
   wptr=0;
       bufferS[0]=0xaa;
          bufferS[1]=0x10;
       bufferS[2]=0x00;
          bufferS[3]=0x00;
       bufferS[4]=0x00;
          bufferS[5]=0x02;
       bufferS[6]=0x58;
          bufferS[7]=0x13;
   delay(50);
      Uart3SendB(bufferS,8);
            
  }
  if(bufferR[9]==0x00&&bufferR[10]==0x01)
  {
   RUN11=1;
   RUN21=1;
   RUN31=1;
   RUN41=1;
   STOP11=1;
   STOP21=1;
   STOP31=1;
   STOP41=1;
   delay(50);
//   memset(bufferR,1,sizeof(bufferR));
   bufferR[9]=0x10;
   bufferR[10]=0x10;
   wptr=0;
   
   bufferS[0]=0xaa;
          bufferS[1]=0x10;
       bufferS[2]=0x00;
          bufferS[3]=0x00;
       bufferS[4]=0x00;
          bufferS[5]=0x02;
       bufferS[6]=0x58;
          bufferS[7]=0x14;
   delay(50);
      Uart3SendB(bufferS,8);  
  }
}
}
void collectdata()
{
}

void dataprocess()
8{
//CRC校驗,符合進入下一步;若不符合,丟掉數據包

if (bufferR[0]==0xaa)//從機地址校驗
{
  if (bufferR[2]==0x00&&bufferR[3]==0x00)//數據首地址校驗
  {   
   if (bufferR[1]==0x10)//主站下發功能
   {
   
    carryout();
   }
//   else if (bufferR[1]=0x03)//從站上傳數據
//   {
//   collectdata();
//   }
  }
}


}
void main()
{
P5M1 = 0;
P5M0 = 0;
Uart3Init();
IE2 = 0x08;      //mabey be set in the T0
EA = 1;          //mabey be set in the T0

while(1)
{
  
  RE485 = 1;
  dataprocess();
  delay(100);
  delay(100);
  delay(100);


回復

使用道具 舉報

ID:123289 發表于 2019-7-12 12:16 | 顯示全部樓層
連續取至少兩幀的長度數據,則里面必有一幀是完整的,處理分析這些數據,從中找到這一個完整的即可。
回復

使用道具 舉報

ID:323902 發表于 2019-7-12 18:42 | 顯示全部樓層
yzwzfyz 發表于 2019-7-12 12:16
連續取至少兩幀的長度數據,則里面必有一幀是完整的,處理分析這些數據,從中找到這一個完整的即可。

具體怎么操作,我寫的條件句,好像不行
加一下我好友,謝謝
回復

使用道具 舉報

ID:93224 發表于 2019-7-12 21:18 | 顯示全部樓層
這個問題在51單片機中有點麻煩,但是我自己設計一種方式接收485的數據很高校,具體的問題你可以聯系我,郵箱是bella_mkbz@126.com
回復

使用道具 舉報

ID:421308 發表于 2019-7-13 18:25 | 顯示全部樓層
代碼不對
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲品质自拍视频网站 | 国产 91 视频 | 国产精品久久久久久久久久 | 亚洲成人精品免费 | 久久综合入口 | 欧美中文字幕 | 日韩看片 | 免费视频成人国产精品网站 | 九色porny自拍视频 | 国产精品无码专区在线观看 | 成人国产一区二区三区精品麻豆 | 欧美日韩国产精品一区二区 | 国产一区二区三区亚洲 | 亚洲日日操 | 日韩在线一区二区 | 欧美黄色精品 | 日韩成人在线免费视频 | 国际精品久久 | 国产精品视频97 | 久久久av中文字幕 | 国产成人精品一区二区三区网站观看 | 鸳鸯谱在线观看高清 | 亚洲国产一区在线 | 亚洲一区免费在线 | 国产一区二区三区视频在线观看 | 国产日韩欧美精品一区二区 | 免费天天干 | 国产精品一区二区久久久久 | 涩涩视频网 | 国内精品视频一区二区三区 | 91亚洲精品国偷拍自产在线观看 | 欧美a级成人淫片免费看 | 国产精品久久久久久久久免费丝袜 | 成人免费视频在线观看 | 国产 日韩 欧美 中文 在线播放 | 午夜激情国产 | 一级毛片在线播放 | 色天天综合 | 精品国产鲁一鲁一区二区张丽 | 欧洲毛片 | www.夜夜骑.com|