国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)的通信方法、主機、從機及通信系統(tǒng)的制作方法

      文檔序號:7803918閱讀:122來源:國知局
      一種數(shù)據(jù)的通信方法、主機、從機及通信系統(tǒng)的制作方法
      【專利摘要】本發(fā)明提供了一種數(shù)據(jù)的通信方法、主機、從機及通信系統(tǒng),在確定需要進行數(shù)據(jù)包傳輸時,主機向從機發(fā)送數(shù)據(jù)起始包,在接收到從機發(fā)送數(shù)據(jù)起始響應包后,向從機發(fā)送數(shù)據(jù)包;主機在接收到從機發(fā)送的數(shù)據(jù)正確響應包后,向從機發(fā)送數(shù)據(jù)結束包??梢钥闯?,主機是在接收到從機發(fā)送數(shù)據(jù)起始響應包后,確定主機與從機之間的數(shù)據(jù)鏈路正常的情況下,才進行數(shù)據(jù)包的傳輸發(fā)送,且在從機接收數(shù)據(jù)包,校驗數(shù)據(jù)包正確時,主機才發(fā)送數(shù)據(jù)結束包,結束本次數(shù)據(jù)包的傳輸;本發(fā)明實施例提供的數(shù)據(jù)通信方法能夠提高從機接收到正確數(shù)據(jù)包的幾率,提高了數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> 【專利說明】一種數(shù)據(jù)的通信方法、主機、從機及通信系統(tǒng)
      【技術領域】
      [0001]本發(fā)明涉及數(shù)據(jù)通信【技術領域】,更具體地說,涉及一種數(shù)據(jù)的通信方法、主機、從機及通信系統(tǒng)。
      【背景技術】
      [0002]在傳統(tǒng)的數(shù)據(jù)傳輸過程中,當主機向從機傳輸數(shù)據(jù)包時,若需要傳輸?shù)臄?shù)據(jù)包的長度超出一次數(shù)據(jù)包傳輸可承載的長度,則需要對需要傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù)進行切割,形成若干小數(shù)據(jù)包,然后將切割后的各數(shù)據(jù)包依次進行發(fā)送,實現(xiàn)數(shù)據(jù)傳輸;以通過藍牙方式進行數(shù)據(jù)包傳輸為例,藍牙4.0傳輸方式一次只能傳輸20個字節(jié)長度的數(shù)據(jù)包,若需要傳輸?shù)臄?shù)據(jù)包的長度超出20個字節(jié)長度,以需要傳輸?shù)臄?shù)據(jù)包的長度為100字節(jié)為例,則需要對需要傳輸?shù)?00字節(jié)長度的數(shù)據(jù)中的數(shù)據(jù)進行切割,形成若干個小數(shù)據(jù)包(如切割成5個數(shù)據(jù)包,每個數(shù)據(jù)包的長度為20個字節(jié)),然后將切割后的各數(shù)據(jù)包依次通過藍牙方式進行發(fā)送,從而實現(xiàn)數(shù)據(jù)的傳輸。需要說明的是,主機為數(shù)據(jù)包發(fā)送端設備,從機為數(shù)據(jù)包接收端設備。
      [0003]但是,在主機向從機傳輸切割后的數(shù)據(jù)包時,若期間存在數(shù)據(jù)包傳輸錯誤或者數(shù)據(jù)包傳輸失敗,則將導致從機接收的數(shù)據(jù)包不完整,甚至出現(xiàn)數(shù)據(jù)包錯亂的情況;因此,如何提供一種數(shù)據(jù)的通信方法來提高數(shù)據(jù)傳輸?shù)耐暾院陀行蛐允潜绢I域技術人員亟待解決的技術問題。

      【發(fā)明內容】

      [0004]有鑒于此,本發(fā)明提供一種數(shù)據(jù)的通信方法、主機、從機及通信系統(tǒng),以實現(xiàn)數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> [0005]一種數(shù)據(jù)的通信方法,包括:
      [0006]在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包;
      [0007]調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包;
      [0008]若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包;
      [0009]調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包;
      [0010]若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成;
      [0011]調用定時器,通過所述定時器判斷是否在預定第三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包;
      [0012]若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成。[0013]優(yōu)選的,所述確定需要進行數(shù)據(jù)包傳輸包括:
      [0014]在檢測到數(shù)據(jù)隊列具有數(shù)據(jù)包時,確定需對處于第一序位的數(shù)據(jù)包進行傳輸,所述數(shù)據(jù)隊列依序存儲有被分割后的各數(shù)據(jù)包。
      [0015]優(yōu)選的,所述數(shù)據(jù)包包括:用于表示所述數(shù)據(jù)包的發(fā)送次序的序號;
      [0016]所述向從機發(fā)送所述數(shù)據(jù)包包括:
      [0017]發(fā)帶序號的數(shù)據(jù)包。
      [0018]優(yōu)選的,所述通信方法還包括:
      [0019]在沒有接收到所述數(shù)據(jù)起始響應包或是接收錯誤時,將待發(fā)送的攜帶有所述序號的數(shù)據(jù)包置于等待狀態(tài),在檢測到主機空閑時,調取該數(shù)據(jù)包并發(fā)送。
      [0020]一種數(shù)據(jù)的通信方法,包括:
      [0021]接收主機發(fā)送的數(shù)據(jù)起始包;
      [0022]向所述主機發(fā)送數(shù)據(jù)起始響應包;
      [0023]調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包;
      [0024]若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包;
      [0025]調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包;
      [0026]若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包。
      [0027]優(yōu)選的,所述數(shù)據(jù)包包括:用于表示所述數(shù)據(jù)包的發(fā)送次序的序號;
      [0028]所述接收所述主機發(fā)送的數(shù)據(jù)包包括:
      [0029]接收所述主機發(fā)送的帶序號的數(shù)據(jù)包。
      [0030]優(yōu)選的,所述通信方法還包括:
      [0031]若接收到的所述數(shù)據(jù)包攜帶有所述序號,則在各被切割后的數(shù)據(jù)包接收完成后,將接收的所有的所述數(shù)據(jù)包按照所述序號的順序排列組合,將各所述數(shù)據(jù)包中攜帶的數(shù)值調取,并按照排列的順序組合,得到完整的數(shù)據(jù)。
      [0032]一種主機,包括:
      [0033]第一發(fā)送單元,用于在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包;
      [0034]第一判定單元,用于調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包;
      [0035]第二發(fā)送單元,用于若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包;
      [0036]第二判定單元,用于調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包;
      [0037]第三發(fā)送單元,用于若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成;
      [0038]第三判定單元,用于調用定時器,通過所述定時器判斷是否在預定第三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包;
      [0039]確定單元,用于若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成。
      [0040]一種從機,包括:
      [0041]接收單元,用于接收主機發(fā)送的數(shù)據(jù)起始包;
      [0042]第四發(fā)送單元,用于向所述主機發(fā)送數(shù)據(jù)起始響應包;
      [0043]第四判定單元,用于調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包;
      [0044]第五發(fā)送單元,用于若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包;
      [0045]第五判定單元,用于調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包;
      [0046]第六發(fā)送單元,用于若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包。
      [0047]一種數(shù)據(jù)的通信系統(tǒng),包括:通信連接的主機和從機;
      [0048]所述主機,用于在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包;調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包;若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包;調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包;若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成;調用定時器,通過所述定時器判斷是否在預定第三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包;若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成;
      [0049]所述從機,用于接收主機發(fā)送的數(shù)據(jù)起始包;向所述主機發(fā)送數(shù)據(jù)起始響應包;調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包;若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包;調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包;若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包。
      [0050]從上述的技術方案可以看出,本發(fā)明提供了一種數(shù)據(jù)的通信方法、主機、從機及通信系統(tǒng),在確定需要進行數(shù)據(jù)包傳輸時,主機向從機發(fā)送數(shù)據(jù)起始包,在接收到從機發(fā)送數(shù)據(jù)起始響應包后,向從機發(fā)送數(shù)據(jù)包;主機在接收到從機發(fā)送的數(shù)據(jù)正確響應包后,向從機發(fā)送數(shù)據(jù)結束包??梢钥闯?,主機是在接收到從機發(fā)送數(shù)據(jù)起始響應包后,確定主機與從機之間的數(shù)據(jù)鏈路正常的情況下,才進行數(shù)據(jù)包的傳輸發(fā)送,且在從機接收數(shù)據(jù)包,校驗數(shù)據(jù)包正確時(即主機接收到從機發(fā)送的數(shù)據(jù)正確響應包時),主機才發(fā)送數(shù)據(jù)結束包,結束本次數(shù)據(jù)包的傳輸;本發(fā)明實施例提供的數(shù)據(jù)通信方法能夠提高從機接收到正確數(shù)據(jù)包的幾率,提高了數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> 【專利附圖】

      【附圖說明】[0051]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0052]圖1為本發(fā)明實施例公開的一種數(shù)據(jù)的通信方法流程圖;
      [0053]圖2為本發(fā)明實施例公開的一種數(shù)據(jù)的通信方法流程圖;
      [0054]圖3為本發(fā)明實施例公開的一種主機的結構示意圖;
      [0055]圖4為本發(fā)明實施例公開的主機的另一種結構示意圖;
      [0056]圖5為本發(fā)明實施例公開的一種從機的結構示意圖;
      [0057]圖6為本發(fā)明實施例公開的從機的另一種結構示意圖;
      [0058]圖7為本發(fā)明實施例公開的一種數(shù)據(jù)的通信系統(tǒng)的結構示意圖。
      【具體實施方式】
      [0059]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
      [0060]本發(fā)明實施例公開了一種數(shù)據(jù)的通信方法、主機、從機及通信系統(tǒng),以實現(xiàn)數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> [0061 ] 參見圖1,本發(fā)明實施例公開的一種數(shù)據(jù)的通信方法流程圖,該通信方法應用于主機,主機與從機通信連接,該通信方法包括步驟:
      [0062]S11、在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包;
      [0063]其中,數(shù)據(jù)起始包用于通知從機當前有條數(shù)據(jù)包需要傳送。
      [0064]數(shù)據(jù)起始包格式是OD OA 00 OD 0A,除了數(shù)據(jù)起始包的包頭和包尾的OD 0A, 00表示數(shù)據(jù)起始包攜帶的數(shù)據(jù)起始信息。
      [0065]S12、調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包;
      [0066]其中,數(shù)據(jù)起始響應包為從機發(fā)出,用于通知主機,從機收到了主機發(fā)來的數(shù)據(jù)起始包。
      [0067]數(shù)據(jù)起始響應包格式是OD OA FE OD 0A,除了數(shù)據(jù)起始響應包的包頭和包尾的OD0A, FE表示數(shù)據(jù)起始響應包攜帶的數(shù)據(jù)起始響應信息。
      [0068]S13、若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包;
      [0069]數(shù)據(jù)包格式是OD OA數(shù)據(jù)包長度數(shù)據(jù)類型數(shù)值校驗位OD OA ;
      [0070]其中:
      [0071]數(shù)據(jù)包長度為I個字節(jié)長度,意思是此條數(shù)據(jù)包除了數(shù)據(jù)包的包頭和包尾的ODOA,數(shù)據(jù)總長度;
      [0072]數(shù)據(jù)類型為I個字節(jié)長度,意思是此條數(shù)據(jù)包所要傳輸數(shù)據(jù)的種類類別;
      [0073]數(shù)值I個字節(jié)到11個字節(jié)長度,意思是此條數(shù)據(jù)包所要傳輸?shù)挠行?shù)據(jù);[0074]校驗位為2個字節(jié)長度,意思是此條數(shù)據(jù)包除了數(shù)據(jù)包的包頭和包尾的OD 0A,所有數(shù)據(jù)的總和取反加I。
      [0075]可以理解的是,當主機接收到從機發(fā)送的數(shù)據(jù)起始響應包后,說明從機已經(jīng)接收到主機發(fā)送的數(shù)據(jù)起始包,此時,為減少主機的數(shù)據(jù)處理量,主機可以取消向從機發(fā)送數(shù)據(jù)起始包。
      [0076]S14、調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包;
      [0077]其中,數(shù)據(jù)正確響應包用于從機通知主機數(shù)據(jù)包的數(shù)據(jù)校驗正確。
      [0078]數(shù)據(jù)正確響應包格式是OD OA FC OD 0A,除了數(shù)據(jù)正確響應包的包頭和包尾的OD0A, FC表示數(shù)據(jù)正確響應包攜帶的數(shù)據(jù)正確響應信息。
      [0079]可以理解的是,當主機接收到從機發(fā)送的數(shù)據(jù)正確響應包后,說明從機接收到的數(shù)據(jù)包為正確的數(shù)據(jù)包,此時,主機無需再向從機發(fā)送數(shù)據(jù)包,即主機取消向從機發(fā)送數(shù)據(jù)包。
      [0080]S15、若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包;
      [0081]其中,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成。
      [0082]S16、調用定時器,通過所述定時器判斷是否在預定第三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包;
      [0083]其中,數(shù)據(jù)結束響應包為從機發(fā)出,用于通知主機,從機收到了主機發(fā)來的數(shù)據(jù)結束包。
      [0084]數(shù)據(jù)結束響應包格式是OD OA FD OD 0A,除了數(shù)據(jù)結束響應包的包頭和包尾的OD0A, FD表示數(shù)據(jù)結束響應包攜帶的數(shù)據(jù)結束響應信息。
      [0085]S17、若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成。
      [0086]可以看出,主機是在接收到從機發(fā)送數(shù)據(jù)起始響應包后,確定主機與從機之間的數(shù)據(jù)鏈路正常的情況下,才進行數(shù)據(jù)包的傳輸發(fā)送,且在從機接收數(shù)據(jù)包,校驗數(shù)據(jù)包正確時(即主機接收到從機發(fā)送的數(shù)據(jù)正確響應包時),主機才發(fā)送數(shù)據(jù)結束包,結束本次數(shù)據(jù)包的傳輸;本發(fā)明實施例提供的數(shù)據(jù)通信方法能夠提高從機接收到正確數(shù)據(jù)包的幾率,提高了數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> [0087]可選的,當主機數(shù)據(jù)傳輸完畢時,主機向從機發(fā)送通信結束包;否則重復步驟Sll ?S17。
      [0088]其中,上述預定第一時間、預定第二時間和預定第三時間可以相等,可以不等,可以根據(jù)實際情況設置。
      [0089]其中,步驟Sll中,確定需要進行數(shù)據(jù)包傳輸包括:
      [0090]在檢測到數(shù)據(jù)隊列具有數(shù)據(jù)包時,確定需對處于第一序位的數(shù)據(jù)包進行傳輸,所述數(shù)據(jù)隊列依序存儲有被分割后的各數(shù)據(jù)包。
      [0091]具體的,首先由主機設置一個數(shù)據(jù)隊列,該數(shù)據(jù)隊列用于通知主機是否有數(shù)據(jù)需要傳輸。主機判斷要傳輸?shù)臄?shù)據(jù)包的長度大小,若某個數(shù)據(jù)包的長度超出一次可以傳輸?shù)臄?shù)據(jù)包的長度(例如20個字節(jié))時,對該數(shù)據(jù)包進行數(shù)據(jù)切割,得到被分割后的各數(shù)據(jù)包,并有序的存儲在數(shù)據(jù)隊列中,每次對處于第一序位的數(shù)據(jù)包進行傳輸。
      [0092]進一步的,為提高數(shù)據(jù)傳輸?shù)耐暾院陀行蛐裕鰯?shù)據(jù)包還包括:用于表示所述數(shù)據(jù)包的發(fā)送次序的序號,所述序號位于所述數(shù)據(jù)包的包頭和數(shù)據(jù)包長度之間,即數(shù)據(jù)包格式是OD OA序號數(shù)據(jù)包長度數(shù)據(jù)類型數(shù)值校驗位OD 0A,其中,所述序號為I個字節(jié)長度。
      [0093]因此,步驟S13中,所述向從機發(fā)送數(shù)據(jù)包包括:發(fā)帶序號的數(shù)據(jù)包。
      [0094]所以,當對數(shù)據(jù)包進行數(shù)據(jù)切割,得到被分割后的各數(shù)據(jù)包后,還需對切割的數(shù)據(jù)按照順序排列序號,并在數(shù)據(jù)包格式的第三個字節(jié)記錄,然后,依序號按照順序進入數(shù)據(jù)隊列。
      [0095]需要說明的一點是,當數(shù)據(jù)包長度沒有超過可以傳輸?shù)臄?shù)據(jù)包的長度(例如20個字節(jié))時,數(shù)據(jù)包格式的第 三個字節(jié)(即序號)為預定無序號標識,如0x00。
      [0096]其中,主機在沒有接收到從機發(fā)送的數(shù)據(jù)起始響應包之前,每隔預設時間段(例如200ms),向從機發(fā)送一條數(shù)據(jù)起始包。
      [0097]為進一步優(yōu)化上述實施例,所述通信方法還包括:
      [0098]在沒有接收到從機發(fā)送的數(shù)據(jù)起始響應包或是接收錯誤時,將待發(fā)送的攜帶有所述序號的數(shù)據(jù)包置于等待狀態(tài),在檢測到主機空閑時,調取該數(shù)據(jù)包并發(fā)送。
      [0099]需要說明的一點是,若主機沒有接收到從機發(fā)送的響應或是接收錯誤,則主機到達預設時間后,則認為主機與從機連接錯誤,此時,主機終止與從機的通信,并輸出通信連接錯誤的提不?目息。
      [0100]主機與從機的數(shù)據(jù)通信過程具體如下:
      [0101]首先由主機設置一個數(shù)據(jù)隊列,該數(shù)據(jù)隊列依序存儲有被分割后的各數(shù)據(jù)包,每次對處于第一序位的數(shù)據(jù)包進行傳輸。
      [0102]在需要進行數(shù)據(jù)包傳輸時,主機向從機發(fā)送數(shù)據(jù)起始包,通知從機當前有數(shù)據(jù)要傳輸,主機每隔一段時間(例如200ms)向從機發(fā)送一條數(shù)據(jù)起始包,并且該主機開啟主機I號定時器;主機接收到來自從機的數(shù)據(jù)起始響應包,取消發(fā)送數(shù)據(jù)起始包,每隔200ms發(fā)送數(shù)據(jù)包,并且關閉主機I號定時器,開啟主機2號定時器;主機接收到來自從機的數(shù)據(jù)正確響應包,取消發(fā)送數(shù)據(jù)包,每隔200模式發(fā)送數(shù)據(jù)結束包,并且關閉主機2號定時器,開啟主機I號定時器;當主機接收到來自從機的數(shù)據(jù)錯誤響應包時,主機每隔200模式再次發(fā)送本數(shù)據(jù)包,并關閉主機2號定時器,開啟主機I號定時器;主機接收到來自從機的數(shù)據(jù)結束響應包,則認為此條數(shù)據(jù)包傳輸完畢,主機關閉I號定時器。上述步驟直至當主機傳輸數(shù)據(jù)完畢,主機向從機發(fā)送通信結束包,結束與從機的通信。
      [0103]其中,當主機在定時器預定時間內沒有接收到從機的響應(數(shù)據(jù)起始響應包、數(shù)據(jù)正確響應包、數(shù)據(jù)結束響應包)、或是接收到數(shù)據(jù)錯誤響應包,或是接收錯誤,則主機到達預設時間后,則認為主機與從機連接錯誤(例如,藍牙連接錯誤),此時,主機終止與從機的通信,并輸出通信連接錯誤的提示信息,在應用層做出一個報錯提醒。
      [0104]參見圖2,本發(fā)明另一實施例公開的一種數(shù)據(jù)的通信方法流程圖,該通信方法應用于從機,從機與主機通信連接,該通信方法包括步驟:
      [0105]S21、接收主機發(fā)送的數(shù)據(jù)起始包;
      [0106]其中,數(shù)據(jù)起始包用于通知從機當前有條數(shù)據(jù)包需要傳送。
      [0107]數(shù)據(jù)起始包格式是OD OA 00 OD 0A,除了數(shù)據(jù)起始包的包頭和包尾的OD 0A, 00表示數(shù)據(jù)起始包攜帶的數(shù)據(jù)起始信息。
      [0108]S22、向所述主機發(fā)送數(shù)據(jù)起始響應包;
      [0109]其中,數(shù)據(jù)起始響應包用于從機通知主機收到了主機發(fā)來的數(shù)據(jù)起始包。
      [0110]數(shù)據(jù)起始響應包格式是OD OA FE OD 0A,除了數(shù)據(jù)起始響應包的包頭和包尾的OD0A, FE表示數(shù)據(jù)起始響應包攜帶的數(shù)據(jù)起始響應信息。
      [0111]S23、調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包;
      [0112]數(shù)據(jù)包格式是OD OA數(shù)據(jù)包長度數(shù)據(jù)類型數(shù)值校驗位OD OA ;
      [0113]其中:
      [0114]數(shù)據(jù)包長度為I個字節(jié)長度,意思是此條數(shù)據(jù)包除了數(shù)據(jù)包的包頭和包尾的ODOA,數(shù)據(jù)總長度;
      [0115]數(shù)據(jù)類型為I個字節(jié)長度,意思是此條數(shù)據(jù)包所要傳輸數(shù)據(jù)的種類類別;
      [0116]數(shù)值I個字節(jié)到11個字節(jié)長度,意思是此條數(shù)據(jù)包所要傳輸?shù)挠行?shù)據(jù);
      [0117]校驗位為2個字節(jié)長度,意思是此條數(shù)據(jù)包除了數(shù)據(jù)包的包頭和包尾的OD 0A,所有數(shù)據(jù)的總和取反加I。
      [0118]S24、若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包;
      [0119]數(shù)據(jù)正確響應包格式是OD OA FC OD 0A,除了數(shù)據(jù)正確響應包的包頭和包尾的OD0A, FC表示數(shù)據(jù)正確響應包攜帶的數(shù)據(jù)正確響應信息。
      [0120]需要說明的一點是,當從機沒有接收到數(shù)據(jù)包或是接收錯誤,從機不向主機發(fā)送任何包。
      [0121]可以理解的是,當從機接收到主機發(fā)送的數(shù)據(jù)包后,為減少從機的數(shù)據(jù)處理量,從機取消向主機發(fā)送數(shù)據(jù)起始響應包。
      [0122]S25、調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包;
      [0123]其中,數(shù)據(jù)結束響應包用于從機通知主機收到了主機發(fā)來的數(shù)據(jù)結束包。
      [0124]數(shù)據(jù)結束響應包格式是OD OA FD OD 0A,除了數(shù)據(jù)結束響應包的包頭和包尾的OD0A, FD表示數(shù)據(jù)結束響應包攜帶的數(shù)據(jù)結束響應信息。
      [0125]可以理解的是,當從機接收到主機發(fā)送的數(shù)據(jù)結束包后,為減少從機的數(shù)據(jù)處理量,從機取消向主機發(fā)送數(shù)據(jù)正確響應包。
      [0126]S26、若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包。
      [0127]可以看出,主機是在接收到從機發(fā)送數(shù)據(jù)起始響應包后,確定主機與從機之間的數(shù)據(jù)鏈路正常的情況下,才進行數(shù)據(jù)包的傳輸發(fā)送,且在從機接收數(shù)據(jù)包,校驗數(shù)據(jù)包正確時(即主機接收到從機發(fā)送的數(shù)據(jù)正確響應包時),主機才發(fā)送數(shù)據(jù)結束包,結束本次數(shù)據(jù)包的傳輸。因此,本發(fā)明能夠提高從機接收到正確數(shù)據(jù)包的幾率,進而提高了數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> [0128]需要說明的一點是,當主機數(shù)據(jù)發(fā)送完畢后,主機向從機發(fā)送通信結束包,從機接收來自主機的通信結束包,結束通信。[0129]進一步的,為提高數(shù)據(jù)傳輸?shù)耐暾院陀行蛐裕鰯?shù)據(jù)包還包括:用于表示所述數(shù)據(jù)包的發(fā)送次序的序號,所述序號位于所述數(shù)據(jù)包的包頭和數(shù)據(jù)包長度之間,即數(shù)據(jù)包格式是OD OA序號數(shù)據(jù)包長度數(shù)據(jù)類型數(shù)值校驗位OD 0A,其中,所述序號為I個字節(jié)長度。
      [0130]因此,步驟S23中,接收到所述主機發(fā)送的數(shù)據(jù)包包括:接收到所述主機發(fā)送的帶序號的數(shù)據(jù)包。
      [0131]為進一步優(yōu)化上述實施例,所述通信方法還包括:
      [0132]若接收到的所述數(shù)據(jù)包攜帶有所述序號,則在各被切割后的數(shù)據(jù)包接收完成后,將接收的所有的所述數(shù)據(jù)包按照所述序號的順序排列組合,將各所述數(shù)據(jù)包中攜帶的數(shù)值調取,并按照排列的順序組合,得到完整的數(shù)據(jù)。
      [0133]因此,不論主機按序號發(fā)送數(shù)據(jù)包還是不按序號發(fā)送數(shù)據(jù)包,從機均可以通過將各所述數(shù)據(jù)包中攜帶的數(shù)值調取,并按照排列的順序組合,得到完整的數(shù)據(jù),從而提高了數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> [0134]需要說明的一點是,若從機沒有接收到主機發(fā)送的數(shù)據(jù)(數(shù)據(jù)起始包、數(shù)據(jù)包、數(shù)據(jù)結束包或通信結束包)或接收錯誤,則從機到達預設時間后,則認為從機與主機連接錯誤,此時,從機終止與從機的通信,并輸出通信連接錯誤的提示信息。
      [0135]從機與主機的通信過程具體如下:
      [0136]從機接收主機發(fā)送的數(shù)據(jù)起始包,每隔200ms發(fā)送數(shù)據(jù)起始響應包給主機,并開啟從機I號定時器;若從機沒有接收到數(shù)據(jù)起始包或是接收錯誤,從機不發(fā)送任何包給主機;從機接收主機發(fā)送的數(shù)據(jù)包,取消發(fā)送數(shù)據(jù)起始響應包,并若數(shù)據(jù)包校驗正確則每隔200m發(fā)送數(shù)據(jù)正確響應包,否則每隔200ms發(fā)送數(shù)據(jù)錯誤響應包,并關閉從機I號定時器,開啟從機2號定時器;從機接收主機發(fā)送的數(shù)據(jù)結束包,取消發(fā)送數(shù)據(jù)正確響應包,每隔200ms發(fā)送數(shù)據(jù)結束響應包給主機,并關閉從機2號定時器,開啟從機I號定時器;待主機將所有的數(shù)據(jù)發(fā)送完畢后,從機接收主機發(fā)送的通信結束包,并關閉從機I號定時器,結束通信。
      [0137]若從機接收到的所述數(shù)據(jù)包攜帶有序號,則在接收到通信結束包后,將接收的所有的數(shù)據(jù)包按照序號的順序排列組合,將各數(shù)據(jù)包中攜帶的數(shù)值(低6字節(jié)到第11字節(jié))調取,并按照排列的順序組合,得到完整的數(shù)據(jù)。
      [0138]其中,若從機沒有接收到主機發(fā)送的數(shù)據(jù)(數(shù)據(jù)起始包、數(shù)據(jù)包、數(shù)據(jù)結束包或通信結束包)或接收錯誤,則從機到達預設時間后,則認為從機與主機連接錯誤,此時,從機終止與從機的通信,并輸出通信連接錯誤的提示信息。
      [0139]結合上述實施例,主機與從機交互的流程,具體如下:
      [0140]首先由主機設置一個數(shù)據(jù)隊列,該數(shù)據(jù)隊列依序存儲有被分割后的各數(shù)據(jù)包,每次對處于第一序位的數(shù)據(jù)包進行傳輸。
      [0141]在需要進行數(shù)據(jù)包傳輸時,主機向從機發(fā)送數(shù)據(jù)起始包,通知從機當前有數(shù)據(jù)要傳輸,主機每隔一段時間(例如200ms)向從機發(fā)送一條數(shù)據(jù)起始包,并且該主機開啟主機I號定時器;
      [0142]從機接收主機發(fā)送的數(shù)據(jù)起始包,每隔200ms發(fā)送數(shù)據(jù)起始響應包給主機,并開啟從機I號定時器;若從機沒有接收到數(shù)據(jù)起始包或是接收錯誤,從機不發(fā)送任何包給主機;[0143]主機接收到來自從機的數(shù)據(jù)起始響應包,取消發(fā)送數(shù)據(jù)起始包,每隔200ms發(fā)送數(shù)據(jù)包,并且關閉主機I號定時器,開啟主機2號定時器;
      [0144]從機接收主機發(fā)送的數(shù)據(jù)包,取消發(fā)送數(shù)據(jù)起始響應包,并若數(shù)據(jù)包校驗正確則每隔200m發(fā)送數(shù)據(jù)正確響應包,否則每隔200ms發(fā)送數(shù)據(jù)錯誤響應包,并關閉從機I號定時器,開啟從機2號定時器;
      [0145] 主機接收到來自從機的數(shù)據(jù)正確響應包,取消發(fā)送數(shù)據(jù)包,每隔200ms發(fā)送數(shù)據(jù)結束包,并且關閉主機2號定時器,開啟主機I號定時器;當主機接收到來自從機的數(shù)據(jù)錯誤響應包時,主機每隔200ms再次發(fā)送本數(shù)據(jù)包,并關閉主機2號定時器,開啟主機I號定時器;
      [0146]從機接收主機發(fā)送的數(shù)據(jù)結束包,取消發(fā)送數(shù)據(jù)正確響應包,每隔200ms發(fā)送數(shù)據(jù)結束響應包給主機,并關閉從機2號定時器,開啟從機I號定時器;
      [0147]主機接收到來自從機的數(shù)據(jù)結束響應包,則認為此條數(shù)據(jù)包傳輸完畢,主機關閉I號定時器。上述步驟直至當主機傳輸數(shù)據(jù)完畢,主機向從機發(fā)送通信結束包,結束與從機的通信;
      [0148]從機接收主機發(fā)送的通信結束包,并關閉從機I號定時器,結束通信。
      [0149]若從機接收到的所述數(shù)據(jù)包攜帶有序號,則在接收到通信結束包后,將接收的所有的數(shù)據(jù)包按照序號的順序排列組合,將各數(shù)據(jù)包中攜帶的數(shù)值(低6字節(jié)到第11字節(jié))調取,并按照排列的順序組合,得到完整的數(shù)據(jù)。
      [0150]其中,當主機沒有接收到從機的響應(數(shù)據(jù)起始響應包、數(shù)據(jù)正確響應包、數(shù)據(jù)結束響應包)、或是接收到數(shù)據(jù)錯誤響應包,或是接收錯誤,則主機到達預設時間后,則認為主機與從機連接錯誤(例如,藍牙連接錯誤),此時,主機終止與從機的通信,并輸出通信連接錯誤的提不?目息。
      [0151]若從機沒有接收到主機發(fā)送的數(shù)據(jù)(數(shù)據(jù)起始包、數(shù)據(jù)包、數(shù)據(jù)結束包或通信結束包)或接收錯誤,則從機到達預設時間后,則認為從機與主機連接錯誤,此時,從機終止與從機的通信,并輸出通信連接錯誤的提示信息。
      [0152]參見圖3,本發(fā)明實施例公開的一種主機的結構示意圖,主機包括:
      [0153]第一發(fā)送單元31,用于在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包;
      [0154]其中,數(shù)據(jù)起始包用于通知從機當前有條數(shù)據(jù)包需要傳送。
      [0155]確定需要進行數(shù)據(jù)包傳輸包括:在檢測到數(shù)據(jù)隊列具有數(shù)據(jù)包時,確定需對處于第一序位的數(shù)據(jù)包進行傳輸,所述數(shù)據(jù)隊列依序存儲有被分割后的各數(shù)據(jù)包。
      [0156]第一判定單元32,用于調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包;
      [0157]第二發(fā)送單元33,用于若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包;
      [0158]其中,數(shù)據(jù)起始響應包用于從機通知主機收到了主機發(fā)來的數(shù)據(jù)起始包。
      [0159]第二判定單元34,用于調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包;
      [0160]其中,數(shù)據(jù)正確響應包用于從機通知主機數(shù)據(jù)包的數(shù)據(jù)校驗正確。
      [0161]第三發(fā)送單元35,用于若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成;
      [0162]第三判定單元36,用于調用定時器,通過所述定時器判斷是否在預定第三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包;
      [0163]其中,數(shù)據(jù)結束響應包用于從機通知主機收到了主機發(fā)來的數(shù)據(jù)結束包。
      [0164]確定單元37,用于若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成。
      [0165]可以看出,主機是在接收到從機發(fā)送數(shù)據(jù)起始響應包后,確定主機與從機之間的數(shù)據(jù)鏈路正常的情況下,才進行數(shù)據(jù)包的傳輸發(fā)送,且在從機接收數(shù)據(jù)包,校驗數(shù)據(jù)包正確時(即主機接收到從機發(fā)送的數(shù)據(jù)正確響應包時),主機才發(fā)送數(shù)據(jù)結束包,結束本次數(shù)據(jù)包的傳輸。因此,本發(fā)明能夠提高從機接收到正確數(shù)據(jù)包的幾率,進而提高了數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> [0166]進一步的,為提高數(shù)據(jù)傳輸?shù)耐暾院陀行蛐裕鰯?shù)據(jù)包還包括:用于表示所述數(shù)據(jù)包的發(fā)送次序的序號,所述序號位于所述數(shù)據(jù)包的包頭和數(shù)據(jù)包長度之間,即數(shù)據(jù)包格式是OD OA序號數(shù)據(jù)包長度數(shù)據(jù)類型數(shù)值校驗位OD 0A,其中,所述序號為I個字節(jié)長度。
      [0167]因此,第二發(fā)送單元33向所述從機發(fā)送數(shù)據(jù)包包括:發(fā)帶序號的數(shù)據(jù)包。
      [0168]所以,當對數(shù)據(jù)包進行數(shù)據(jù)切割,得到被分割后的各數(shù)據(jù)包后,還需對切割的數(shù)據(jù)按照順序排列序號,并在數(shù)據(jù)包格式的第三個字節(jié)記錄,然后,依序號按照順序進入數(shù)據(jù)隊列。
      [0169]為進一步優(yōu)化本實施例,圖4示出了主機的另一種結構,結合圖3和圖4所示,所述主機還包括:
      [0170]數(shù)據(jù)包調取單元38,用于在沒有接收到從機發(fā)送的數(shù)據(jù)起始響應包或是接收錯誤時,將待發(fā)送的攜帶有所述序號的數(shù)據(jù)包置于等待狀態(tài),在檢測到主機空閑時,調取該數(shù)據(jù)包并發(fā)送。
      [0171 ] 需要說明的一點是,數(shù)據(jù)包調取單元38可以在第一發(fā)送單元31執(zhí)行完畢后,檢測到主機空閑時執(zhí)行,也可以是在所有的數(shù)據(jù)包均發(fā)送完畢后再執(zhí)行。
      [0172]其中,若主機沒有接收到從機發(fā)送的響應或是接收錯誤,則主機到達預設時間后,則認為主機與從機連接錯誤,此時,主機終止與從機的通信,并輸出通信連接錯誤的提示信
      肩、O
      [0173]需要說明的一點是,本實施例中各組成部分的具體工作原理參見方法實施例,此處不再贅述。
      [0174]參見圖5,本發(fā)明實施例公開了一種從機的結構示意圖,包括:
      [0175]接收單元41,用于接收主機發(fā)送的數(shù)據(jù)起始包;
      [0176]其中,數(shù)據(jù)起始包用于通知從機當前有條數(shù)據(jù)包需要傳送。
      [0177]第四發(fā)送單元42,用于向所述主機發(fā)送數(shù)據(jù)起始響應包;
      [0178]其中,數(shù)據(jù)起始響應包用于從機通知主機收到了主機發(fā)來的數(shù)據(jù)起始包。
      [0179]第四判定單元43,用于調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包;
      [0180]數(shù)據(jù)包格式是OD OA數(shù)據(jù)包長度數(shù)據(jù)類型數(shù)值校驗位OD 0A,[0181]其中:
      [0182]數(shù)據(jù)包長度為I個字節(jié)長度,意思是此條數(shù)據(jù)包除了數(shù)據(jù)包的包頭和包尾的ODOA,數(shù)據(jù)總長度;
      [0183]數(shù)據(jù)類型為I個字節(jié)長度,意思是此條數(shù)據(jù)包所要傳輸數(shù)據(jù)的種類類別;
      [0184]數(shù)值I個字節(jié)到11個字節(jié)長度,意思是此條數(shù)據(jù)包所要傳輸?shù)挠行?shù)據(jù);
      [0185]校驗位為2個字節(jié)長度,意思是此條數(shù)據(jù)包除了數(shù)據(jù)包的包頭和包尾的OD 0A,所有數(shù)據(jù)的總和取反加I。
      [0186]數(shù)據(jù)正確響應包格式是OD OA FC OD 0A,除了數(shù)據(jù)正確響應包的包頭和包尾的OD0A, FC表示數(shù)據(jù)正確響應包攜帶的數(shù)據(jù)正確響應信息。
      [0187]需要說明的一點是,當從機沒有接收到數(shù)據(jù)包或是接收錯誤,從機不向主機發(fā)送任何包。
      [0188]可以理解的是,當從機接收到主機發(fā)送的數(shù)據(jù)包后,為減少從機的數(shù)據(jù)處理量,從機取消向主機發(fā)送數(shù)據(jù)起始響應包。
      [0189]第五發(fā)送單元44,用于若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包;
      [0190]第五判定單元45,用于調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包;
      [0191]第六發(fā)送單元46,用于若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包。
      [0192]其中,數(shù)據(jù)結束響應包用于從機通知主機收到了主機發(fā)來的數(shù)據(jù)結束包。
      [0193]數(shù)據(jù)結束響應包格式是OD OA FD OD 0A,除了數(shù)據(jù)結束響應包的包頭和包尾的OD0A, FD表示數(shù)據(jù)結束響應包攜帶的數(shù)據(jù)結束響應信息。
      [0194]可以理解的是,當從機接收到主機發(fā)送的數(shù)據(jù)結束包后,為減少從機的數(shù)據(jù)處理量,從機取消向主機發(fā)送數(shù)據(jù)正確響應包。
      [0195]其中,上述預設第四時間、預設第五時間可以相等,可以不等,可以根據(jù)實際情況設置。
      [0196]可以看出,主機是在接收到從機發(fā)送數(shù)據(jù)起始響應包后,確定主機與從機之間的數(shù)據(jù)鏈路正常的情況下,才進行數(shù)據(jù)包的傳輸發(fā)送,且在從機接收數(shù)據(jù)包,校驗數(shù)據(jù)包正確時(即主機接收到從機發(fā)送的數(shù)據(jù)正確響應包時),主機才發(fā)送數(shù)據(jù)結束包,結束本次數(shù)據(jù)包的傳輸。因此,本發(fā)明能夠提高從機接收到正確數(shù)據(jù)包的幾率,進而提高了數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> [0197]需要說明的一點是,當主機數(shù)據(jù)發(fā)送完畢后,主機向從機發(fā)送通信結束包,從機接收來自主機的通信結束包,結束通信。
      [0198]進一步的,為提高數(shù)據(jù)傳輸?shù)耐暾院陀行蛐?,所述?shù)據(jù)包還包括:用于表示所述數(shù)據(jù)包的發(fā)送次序的序號,所述序號位于所述數(shù)據(jù)包的包頭和數(shù)據(jù)包長度之間,即數(shù)據(jù)包格式是OD OA序號數(shù)據(jù)包長度數(shù)據(jù)類型數(shù)值校驗位OD 0A,其中,所述序號為I個字節(jié)長度。
      [0199]因此,本發(fā)明實施例中從機可接收所述主機發(fā)送的帶序號的數(shù)據(jù)包。
      [0200]為進一步優(yōu)化上述實施例,圖6示出了從機的另一種結構,結合圖5和圖6所示,從機還包括:[0201]數(shù)值調取單元47,用于若接收到的所述數(shù)據(jù)包攜帶有所述序號,則在接收到通信結束包后,將接收的所有的所述數(shù)據(jù)包按照所述序號的順序排列組合,將各所述數(shù)據(jù)包中攜帶的數(shù)值調取,并按照排列的順序組合,得到完整的數(shù)據(jù)。
      [0202]因此,不論主機按序號發(fā)送數(shù)據(jù)包還是不按序號發(fā)送數(shù)據(jù)包,從機均可以通過將各所述數(shù)據(jù)包中攜帶的數(shù)值調取,并按照排列的順序組合,得到完整的數(shù)據(jù),從而提高了數(shù)據(jù)傳輸?shù)耐暾院陀行蛐浴?br> [0203]其中,若從機沒有接收到主機發(fā)送的數(shù)據(jù)(數(shù)據(jù)起始包、數(shù)據(jù)包、數(shù)據(jù)結束包或通信結束包)或接收錯誤,則從機到達預設時間后,則認為從機與主機連接錯誤,此時,從機終止與從機的通信,并輸出通信連接錯誤的提示信息。
      [0204]需要說明的一點是,本實施例中各組成部分的工作原理參見方法實施例,此處不再贅述。
      [0205]參見圖7,本發(fā)明實施例公開的一種數(shù)據(jù)的通信系統(tǒng)的結構示意圖,包括通信連接的主機51和從機52 ;
      [0206]主機51,用于在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包;調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包;若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包;調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包;若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成;調用定時器,通過所述定時器判斷是否在預定第三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包;若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成;
      [0207]從機52,用于接收主機發(fā)送的數(shù)據(jù)起始包;向所述主機發(fā)送數(shù)據(jù)起始響應包;調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包;若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包;調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包;若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包。
      [0208]其中,本實施例中主機51、從機52的具體工作原理參見方法實施例,此處不再贅述。
      [0209]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
      [0210]對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
      【權利要求】
      1.一種數(shù)據(jù)的通信方法,其特征在于,包括: 在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包; 調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包; 若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包; 調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包; 若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成; 調用定時器,通過所述定時器判斷是否在預定第三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包; 若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成。
      2.根據(jù)權利要求1所述的通信方法,其特征在于,所述確定需要進行數(shù)據(jù)包傳輸包括: 在檢測到數(shù)據(jù)隊列具有數(shù)據(jù)包時,確定需對處于第一序位的數(shù)據(jù)包進行傳輸,所述數(shù)據(jù)隊列依序存儲有被分割后的各數(shù)據(jù)包。
      3.根據(jù)權利要求1所述的通信方法,其特征在于,所述數(shù)據(jù)包包括:用于表示所述數(shù)據(jù)包的發(fā)送次序的序號; 所述向從機發(fā)送所述數(shù)據(jù)包包括: 發(fā)帶序號的數(shù)據(jù)包。
      4.根據(jù)權利要求3所述的通信方法,其特征在于,所述通信方法還包括: 在沒有接收到所述數(shù)據(jù)起始響應包或是接收錯誤時,將待發(fā)送的攜帶有所述序號的數(shù)據(jù)包置于等待狀態(tài),在檢測到主機空閑時,調取該數(shù)據(jù)包并發(fā)送。
      5.一種數(shù)據(jù)的通信方法,其特征在于,包括: 接收主機發(fā)送的數(shù)據(jù)起始包; 向所述主機發(fā)送數(shù)據(jù)起始響應包; 調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包; 若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包; 調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包; 若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包。
      6.根據(jù)權利要求5所述的通信方法,其特征在于,所述數(shù)據(jù)包包括:用于表示所述數(shù)據(jù)包的發(fā)送次序的序號; 所述接收所述主機發(fā)送的數(shù)據(jù)包包括: 接收所述主機發(fā)送的帶序號的數(shù)據(jù)包。
      7.根據(jù)權利要求6所述的通信方法,其特征在于,所述通信方法還包括: 若接收到的所述數(shù)據(jù)包攜帶有所述序號,則在各被切割后的數(shù)據(jù)包接收完成后,將接收的所有的所述數(shù)據(jù)包按照所述序號的順序排列組合,將各所述數(shù)據(jù)包中攜帶的數(shù)值調取,并按照排列的順序組合,得到完整的數(shù)據(jù)。
      8.—種主機,其特征在于,包括: 第一發(fā)送單元,用于在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包; 第一判定單元,用于調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包; 第二發(fā)送單元,用于若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包; 第二判定單元,用于調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包; 第三發(fā)送單元,用于若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成;第三判定單元,用于調用定時器,通過所述定時器判斷是否在預定第三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包; 確定單元,用于若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成。
      9.一種從機,其特征在于,包括: 接收單元,用于接收主機發(fā)送的數(shù)據(jù)起始包; 第四發(fā)送單元,用于向所述主機發(fā)送數(shù)據(jù)起始響應包; 第四判定單元,用于調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包; 第五發(fā)送單元,用于若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包; 第五判定單元,用于調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包; 第六發(fā)送單元,用于若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包。
      10.一種數(shù)據(jù)的通信系統(tǒng),其特征在于,包括:通信連接的主機和從機; 所述主機,用于在確定需要進行數(shù)據(jù)包傳輸時,向從機發(fā)送數(shù)據(jù)起始包;調用定時器,通過所述定時器判斷是否在預定第一時間內,接收到所述從機發(fā)送的數(shù)據(jù)起始響應包;若在預定第一時間內接收到所述從機發(fā)送的數(shù)據(jù)起始響應包,向所述從機發(fā)送數(shù)據(jù)包;調用定時器,通過所述定時器判斷是否在預定第二時間內,接收到所述從機發(fā)送的數(shù)據(jù)正確響應包;若在預定第二時間內接收到所述從機發(fā)送的數(shù)據(jù)正確響應包,向所述從機發(fā)送數(shù)據(jù)結束包,所述數(shù)據(jù)正確響應包由所述從機校驗所述數(shù)據(jù)包正確后生成;調用定時器,通過所述定時器判斷是否在預定第 三時間內,接收到所述從機發(fā)送的數(shù)據(jù)結束響應包;若在預定第三時間內接收到所述從機發(fā)送的數(shù)據(jù)結束響應包,確定本次數(shù)據(jù)包傳輸完成; 所述從機,用于接收主機發(fā)送的數(shù)據(jù)起始包;向所述主機發(fā)送數(shù)據(jù)起始響應包;調用定時器,通過所述定時器判斷是否在預定第四時間內,接收到所述主機發(fā)送的數(shù)據(jù)包;若在預定第四時間內接收到所述主機發(fā)送的數(shù)據(jù)包,在校驗所述數(shù)據(jù)包正確后,向所述主機發(fā)送數(shù)據(jù)正確響應包;調用定時器,通過所述定時器判斷是否在預定第五時間內,接收到所述主機發(fā)送的數(shù)據(jù)結束包;若在預定第五時間內接收到所述主機發(fā)送的數(shù)據(jù)結束包,向所述主機發(fā)送數(shù)據(jù)結束響應包 。
      【文檔編號】H04L12/70GK103944820SQ201410206502
      【公開日】2014年7月23日 申請日期:2014年5月15日 優(yōu)先權日:2014年5月15日
      【發(fā)明者】王鴻 申請人:東莞市聯(lián)臣電子科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1