網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > 綜合知識 > 

通訊協議怎麼寫

欄目: 綜合知識 / 發佈於: / 人氣:3.26W
1. 怎麼寫串口通信協議

串口按位(bit)發送和接收字節。儘管比按字節(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。

通訊協議怎麼寫

什麼是串口

串口是計算機上一種非常通用的設備通信協議(不要與通用串行總線Universal SerialBus或者USB混淆)。大多數計算機包含兩個基於RS232的串口。串口同時也是儀器儀表設備通用的通信接口;很多GPIB相容的設備也帶有RS-232口。同時,串口通信協議也可以用於獲取遠程採集設備的數據。

串口通信的概念非常簡單,串口按位(bit)發送和接收字節。儘管比按字節(byte)的並行通信慢,但是串口可以在使用一根線發送數據的同時用另一根線接收數據。它很簡單並且能夠實現遠距離通信。比如IEEE488定義並行通行狀態時,規定設備線總長不得超過20米,並且任意兩個設備間的長度不得超過2米;而對於串口而言,長度可達1200米。

典型地,串口用於ASCII碼字元的傳輸。

通信使用3根線完成:

(1)地線,

(2)發送,

(3)接收。由於串口通信是異步的,端口能夠在一根線上發送數據同時在另一根線上接收數據。其他線用於握手,但是不是必須的。串口通信最重要的參數是比特率、數據位、停止位和奇偶校驗。對於兩個進行通信的端口,這些參數必須匹配:

a,比特率:這是一個衡量通信速度的參數。它表示每秒鐘傳送的bit的個數。例如300波特表示每秒鐘發送300個bit。當我們提到時鐘週期時,就是指比特率,例如如果協議需要4800波特率,那麼時鐘是4800Hz。這意味着串口通信在數據線上的採樣率爲4800Hz。通常電話線的比特率爲14400,28800和36600。比特率可以遠遠大於這些值,但是波特率和距離成反比。高比特率常常用於放置的很近的儀器間的通信,典型的例子就是GPIB設備的通信。

b,數據位:這是衡量通信中實際數據位的參數。當計算機發送一個資訊包,實際的數據不會是8位的,標準的值是5、7和8位。如何設定取決於你想傳送的資訊。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文字(標準ASCII碼),那麼每個數據包使用7位數據。每個包是指一個字節,包括開始/停止位,數據位和奇偶校驗位。由於實際數據位取決於通信協議的選取,術語“包”指任何通信的情況。

c,停止位:用於表示單個包的最後一位。典型的值爲1,1.5和2位。由於數據是在傳輸線上定時的,並且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,並且提供計算機校正時鐘同步的機會。適用於停止位的位數越多,不同時鐘同步的容忍程度越大,但是數據傳輸率同時也越慢。

d,奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對於偶和奇校驗的情況,串口會設定校驗位(數據位後面的一位),用一個值確保傳輸的數據有偶個或者奇個邏輯高位。例如,如果數據是011,那麼對於偶校驗,校驗位爲0,保證邏輯高的位數是偶數個。如果是奇校驗,校驗位爲1,這樣就有3個邏輯高位。高位和低位不真正的檢查數據,簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態,有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數據是否不同步。串口通訊協議是指通信雙方的一種約定。約定包括對數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字元定義等問題做出統一規定,通信雙方必須共同遵守。因此,也叫做通信控制規程,或稱傳輸控制規程,它屬於ISO'S OSI七層參考模型中的數據鏈路層。

2. 51單片機485通訊協議怎麼寫 有代碼最好

所謂通訊協議 只是一種約定,如果都是 自己做的系統,只要自己定製一個就可以了,

如果與 其它 系統 通訊 ,則需要 知道 其通訊協議內容,

如 一個簡單的 通訊協議 控制指令

發送 01H 代表 開啟開關

發送 02H 代表 關閉開關

則 發送端 發了 01H 接收端 收到 01H 就控制 開啟開關

發送端 發了 02H 接收端 收到 02H 就控制 關閉開關

這感覺很簡單,在實際應用中 要 考慮 正確性 需要驗證,

如紅外遙控器 指令碼與反碼 接收端判斷 指令碼與反碼比較是否正確。

3. 協議怎麼寫

甲方:_____________ 乙方:_____________ 甲、乙雙方本着自願、平等、公平、誠實、信用的原則,經友好協商,根據中華人民共和國有關法律、法規的規定簽定本協議,由雙方共同遵守。

第一條協議範圍內,雙方的關係確定爲合作關係。爲拓展市場更好地、更規範地服務消費者,根據公司的規劃,甲方根據乙方的申請和對乙方的經營能力的審覈,同 意乙方加入___________公司的銷售網絡。

同意乙方在_______省(市、自治區)_________市(地區)_______縣 (區)_______地點(商場建築物)(代理、經銷、專賣、批發、零售)專屬性經營(_______)品牌________系列產品。 第二條訂立本協議的目的在於確保甲、乙雙方忠實地履行本協議規定的雙方的職責和權利。

乙方作爲單獨的企業法人或經營者進行經濟活動。因此,他必須遵守對所 有企業法人或經營者共同的法律要求,特別是有關資格的規則以及社會的、財務的商業要求。

作爲一個企業法人或經營者,乙方應就其活動自負一切風險和從合法經 營中獲利。乙方不是甲方的代理人,也不是甲方的僱員和合夥人。

乙方不是作爲甲方委託代表,乙方無權以甲方的名義簽定協議,使甲方在任何方面對第三人承擔責 任,或由甲方負擔費用,承擔任何義務。訂立本協議並未授予乙方任何約束甲方或甲方有關企業之權利,甲方對本協議任何條款有最終的解釋權。

第三條有效期從_______年_____月_____日至_______年_____月_____日,由簽約日計。除非本協議提前終止,乙方可在協議有 效期滿前三個月向甲方提出延長協議合作的書面請求,經甲方同意,可以續簽《__________合作協議書》。

第四條甲方爲使乙方所轄區域更好運營,開發和提供適銷產品,保證產品質量符合標準,合理定價,最大限度保證乙方的供應。在本協議期間,甲方承諾,積極協助 承擔市場物流、組織功能乙方按甲方規劃進行市場設計和拓展市場網絡。

甲方承諾在乙方要求下,可爲乙方代辦貨物託運及相應事項,用乙方要求的方式運輸到乙方 所指定的地點,其運輸、保險等費用均由受益人乙方支付。甲方爲乙方提供適當的培訓和輔導。

作爲市場開發和業務拓展必備條件,以保證整個系統持續統一。甲方 負責組織品牌宣傳,並協同承擔市場物流、組織功能的乙方開展區域性的促銷活動,最大限度地支援乙方的經營。

甲方在作出的廣告及推廣活動之前,須先將有關活 動資料通知乙方,以使乙方能於活動前作出適當準備及加以響應。甲方的品牌和產品及相關的燈箱廣告、POP廣告、店鋪內外之裝潢設計及陳設,由甲方定出 VIS形象設計,併爲乙方提供相應輔導。

第五條乙方保護甲方的商標等知識產權,規範地使用甲方商標標識。乙方有義務協助甲方打假、市場監管。

舉報、舉證假冒僞劣產品、竄貨以及其它不正當競爭行 爲。協同甲方與當地相關的執法部門進行協調、溝通。

乙方只能在甲方授權的區域內開展業務,不得在其它區域銷售商品,如未有其它分銷商經營的區域,乙方如願 發展業務,必須向甲方申請。 乙方只能在甲方所指定的進貨渠道進貨,不得到其它地方進貨。

透過市場的細分、有序的管理、合 理地分配,有效支援網點商品供應,不得經營其它品牌產品和銷售假冒產品。協議有效期內,乙方所屬區域內網點的零售價格,在甲方建議價格範圍內保持統一,不 得隨意大幅度調價。

乙方有義務爲甲方收集所需要的市場資訊,或根據甲方的要求進行市場調查,並在規定期限內彙總上報甲方。妥善儲存乙方的經營業務記錄,以 備甲方的核查。

第六條乙方有使用甲方授權範圍內的商標、商標標識、VIS形象設計及甲方提供的適當範圍的經營技術和商業祕密的權利。乙方具有從甲方指定進貨渠道 進貨並在協議規定的範圍內進行銷售的權利。

具有因甲方提供的產品本身質量問題可無條件退換的權利,但屬乙方經營問題則由乙方自理。獲得甲方所提供的培訓和 指導的權利。

獨立處理協議約定以外事項的權利。在協議約定的範圍內行使甲方所賦予的權利。

承擔市場物流、組織功能的乙方有權推薦、考覈所轄範圍內分銷商或 零售商。但推薦的分銷商、零售商必須向甲方申請,簽定協議、由甲方頒發證書後方可運營。

第七條在乙方違背本協議即違法經營、製假、售假、惡意竄貨、侵犯甲方知識產權等嚴重侵害甲方合法權益等行爲時,本協議視作立即終止。甲方有權採取對乙方的 下列措施: 1.責令乙方自行承擔費用拆除所有的燈箱及一切有關的裝飾用具、店面裝修、宣傳品等。

乙方自行承擔軟件和硬件設備投資的一切損失2.向有關執法機關提出執法請求,封存乙方所有的帶有甲方商標標識的商品。 3.依法提請司法和執法機關追索乙方的賠償責任和法律責任。

與此同時乙方必須 (1)結清與甲方(甲方指定的供貨商)的財務往來關係。 (2)不得再進行銷售甲方的商品。

(3)必須承擔客戶後續服務成本,包括退貨、維修、索賠等。 第八條甲方的商標,屬甲方所有的知識產權,受國家法律保護。

所有相關產品的標識,均屬甲方所有。未經甲方事先書面專項授權,乙方不得使用甲方的名稱、商 標、公司司標等涉及公司知識產權內容、標識進。

4. 通信協議 還是通訊協議

通信協議。

通信協議是指雙方實體完成通信或服務所必須遵循的規則和約定。透過通信信道和設備互連起來的多個不同地理位置的數據通信系統,要使其能協同工作實現資訊交換和資源共享,它們之間必須具有共同的語言。

交流什麼、怎樣交流及何時交流,都必須遵循某種互相都能接受的規則。這個規則就是通信協議。

對於通訊協議,開放系統互聯協議中最早的協議之一,它爲連接不同操作系統和不同硬件體系結構的互聯網絡提供通信支援,是一種網絡通用語言。TCP/IP協議定義了在互聯網絡中如何傳遞、管理資訊(檔案傳送、收發電子郵件、遠程登入等),並制定了在出錯時必須遵循的規則。

5. 如何編寫自己的串口通訊協議

所謂的串口通信協議,其實,就是串口通信時,相互的一種聯繫方式。

至於內容完全可以根據自己的需要來制定。包括:首先確定波特率,是否有奇偶校驗,一般都不用,比較麻煩,但可以加一個字節的校驗和或校驗字。

其次,多機通信時,要確定每個機器的地址,雙機通信就不用了。然後是聯繫方式,即通信時,是否用握手資訊,互相交換聯繫信號,爲了加密,還可以交換密碼。

最簡單的就是:發一幀數據時用幾個字節,帶不帶校驗和,起始字節是什麼,結束字節是什麼,關鍵的命令字是什麼,數據字節是什麼。命令字表示什麼動作,數據表示狀態。

反正都是自己確定的,怎麼編寫協議都 行的。

6. 如何編寫自己的串口通訊協議

下面以一個例程來做說明:

ARDUINO 代碼複製打印

int incomingByte = 0; // 接收到的 data byteString inputString = ""; // 用來儲存接收到的內容boolean newLineReceived = false; // 前一次數據結束標誌 void setup() { Serial.begin(9600); //設定通訊端口及速率} void loop() { if (newLineReceived) { Serial.print(inputString); // 這裏只是簡單的將它打出來了,你可以根據自己的要求來用你接收到的數據。。 inputString = ""; // clear the string newLineReceived = false; 。。..//其他你的程序 }} //serialEvent()是IDE1.0及以後版本新增的功能,不清楚爲什麼大部份人不願意用,這個可是相當於中斷功能一樣的啊! void serialEvent(){ while (Serial.available()) { incomingByte = Serial.read(); //一個字節一個字節地讀,下一句是讀到的放入字元串數組中組成一個完成的數據包 inputString += (char) incomingByte; // 全雙工串口可以不用在下面加延時,半雙工則要加的// // 下面就是所謂的通訊協議了,如果接收到了換行符號,本例是定義了這次串口通訊數據接收結束// // 其他的你還可以加一些規則,比如數據包起始位,規定一個數據包就是以FF爲開頭的,如果不是就不接收// // 也可以加上數據校驗位,同樣在這裏做一個校驗判斷,如果不符合,則將數據包丟掉,再透過一個標誌位寫個值,// //在主程序裏面讓發送方重發(主程序裏面都寫一條IF就行了)// if (incomingByte == 'n') { newLineReceived = true; } }}

Tags:協議 通訊