當前位置:編程學習大全網 - 編程語言 - 串口通信協議有哪些?

串口通信協議有哪些?

問題壹:串口通信協議有哪些 I2C總線是內部總線,用來連接內部系統內的芯片。比如mcu和存儲器、鍵盤現實芯片、ad轉換等等。 串口通信是用來和系統外部的設別通信的。比如設備和設備之間通信。 I2C和串口在通信協議上可以做到壹樣,也可做到不壹樣,這取決與具體的情況。 mcu和2402通信,mcu和電腦通信它們之間的協議軟件可以做到完全壹樣 比如mcu發送1 2402和電腦發送2。

問題二:串口通訊協議是什麽 串口通訊協議是指通信雙方的壹種約定。約定包括對數據格式、同步方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題做出統壹規定,通信雙方必須***同遵守。因此,也叫做通信控制規程,或稱傳輸控制規程,它屬於ISO'S OSI七層參考模型中的數據鏈路層。

問題三:怎麽寫串口通信協議 通信協議是可以自己定義的,只不過要求不壹樣,可以自己隨意定義,也可以根據客戶要求定義,或根據相關設備定義(如妳所述妳的主機通過掃描槍掃描二維碼,那主機內部就應該有相關編碼協議),看相關說明書能查到。同時自己也可以在裏面加上校驗碼等等

問題四:plc串口通信協議有哪些 232或者485

問題五:串口通信協議是硬件還是軟件 應該是硬件的,,串口數據流鼎原生,沒有編譯的數據

通過軟件,識別成信號,完成執行所要的功能

問題六:R232串口通訊協議是指什麽?內容是?它與R485的區別在哪? 區別是232是全雙工

485壹個是半雙工

問題七:串行通信的異步通信協議 1、串行異步通信時的數據格式異步方式通信ASYNC(Asynchronous Data munication),又稱起止式異步通信,是計算機通信中最常用的數據信息傳輸方式。它是以字符為單位進行傳輸的,字符之間沒有固定的時間間隔要求,而每個字符中的各位則以固定的時間傳送。收、發雙方取得同步的方法是采用在字符格式中設置起始位和停止位。在壹個有效字符正式發送前,發送器先發送壹個起始位,然後發送有效字符位,在字符結束時再發送壹個停止位,起始位至停止位構成壹幀。串行異步傳輸時的數據格式:⑴ 起始位:起始位必須是持續壹個比特時間的邏輯“0”電平,標誌傳送壹個字符的開始。⑵ 數據位:數據位為5-8位,它緊跟在起始位之後,是被傳送字符的有效數據位。傳送時先傳送字符的低位,後傳送字符的高位。數據位究竟是幾位,可由硬件或軟件來設定。⑶ 奇偶位:奇偶校驗位僅占壹位,用於進行奇校驗或偶校驗,也可以不設奇偶位。⑷ 停止位:停止位為1位、1.5位或2位,可有軟件設定。它壹定是邏輯“1”電平,標誌著傳送壹個字符的結束。⑸ 空閑位:空閑位表示線路處於空閑狀態,此時線路上為邏輯“1”電平。空閑位可以沒有,此時異步傳送的效率為最高。2、串行異步通信時的數據接收串行異步通信時,接收方不斷地檢測或監視串行輸入線上的電平變化,當檢測到有效起始位出現時,便知道接著是有效字符位的到來,並開始接收有效字符,當檢測到停止位時,就知道傳輸的字符結束了。經過壹段隨機時間間隔之後,又進行下壹個字符的傳送過程。 通常接收端的采樣時鐘周期要比傳輸字符的位周期短,常用的采樣時鐘頻率為位頻率的16倍,采取這種措施是為了提高抗幹擾能力,參看圖8.19所示。從圖中可知,傳輸字符的位周期Td等於采樣時鐘周期Tc的16倍。接收器的采樣時鐘的每個上升沿對輸入信號進行采樣,檢驗接收數據線上的低電平是否保持8或9個連續的時鐘周期,以確定傳輸線上的低電平是否是真的起始位。這樣就可以避免噪聲幹擾引起的誤操作,從而刪除假的起始位。相當精確地確定起始位的中間點,從而提供壹個時間基準,從這個基準開始,每隔16個Tc對其余數據位采樣,以確保傳輸數據的正確性。接收端為實現采樣數據的基準,可以執行以下步驟:⑴ 在接收端設置壹采樣時鐘頻率計數器,當檢測到起始位下降沿時,將其清零,並開始對采樣時鐘計數,即每來壹個時鐘,計數器加1。⑵ 當計數器計到8時,表示已到達起始位的中間位置,此時采樣值為0,說明是真正的起始位,同時將計數器清零;若采樣值不為0,則說明壹開始檢測到的下降沿不是真正的起始位前沿,而是壹次幹擾,此次檢測應作廢,計數器清零,並重新開始檢測起始位。⑶ 檢測到真正的起始位後,計數器清零,以後每次計到16時,便采樣收到的信號波形(即每壹位的中間),將采到的數值暫存起來,同時將計數器清零,重新計數,直至最後的停止位被采樣。⑷ 如果停止位采樣正確(為1),則字符被接收,並由暫存器裝入寄存器。若停止位采樣值為0,說明同步或傳輸有問題,此次采樣所得字符作廢,不被接收。異步通信的特點⑴ 起止式異步通信協議傳輸數據對收發雙方的時鐘同步要求不高,即使收、發雙方的時鐘頻率存在壹定偏差,只要不使接收器在壹個字符的起始位之後的采樣出現錯位現象,則數據傳輸仍可正常進行。因此,異步通信的發送器和接收器可以不用***同的時鐘,通信的雙方可以各自使用自己的本地時鐘。⑵ 實際應用中,串行異步通信的數據格式,包括數據位的位數、校驗位的設置以及停止位的位數都可以根據實際需要,通過可編程串行接口電路,用軟件命令的方式進行設置。在不同傳輸系統中,這些通......>>

問題八:串口通信協議的握手 RS-232通信方式允許簡單連接三線:Tx、Rx和地線。但是對於數據傳輸,雙方必須對數據定時采用使用相同的波特率。盡管這種方法對於大多數應用已經足夠,但是對於接收方過載的情況這種使用受到限制。這時需要串口的握手功能。在這壹部分,我們討論三種最常用的RS-232握手形式:軟件握手、硬件握手和Xmodem。a,軟件握手:我們討論的第壹種握手是軟件握手。通常用在實際數據是控制字符的情況,類似於GPIB使用命令字符串的方式。必須的線仍然是三根:Tx,Rx和地線,因為控制字符在傳輸線上和普通字符沒有區別,函數SetXModem允許用戶使用或者禁止用戶使用兩個控制字符XON和XOFF。這些字符在通信中由接收方發送,使發送方暫停。例如:假設發送方以高波特率發送數據。在傳輸中,接收方發現由於CPU忙於其他工作,輸入buffer已經滿了。為了暫時停止傳輸,接收方發送XOFF,典型的值是十進制19,即十六進制13,直到輸入buffer空了。壹旦接收方準備好接收,它發送XON,典型的值是十進制17,即十六進制11,繼續通信。輸入buffer半滿時,LabWindows發送XOFF。此外,如果XOFF傳輸被打斷,LabWindows會在buffer達到75%和90%時發送XOFF。顯然,發送方必須遵循此守則以保證傳輸繼續。b,硬件握手:第二種是使用硬件線握手。和Tx和Rx線壹樣,RTS/CTS和DTR/DSR壹起工作,壹個作為輸出,另壹個作為輸入。第壹組線是RTS(Request to Send)和CTS(Clear toSend)。當接收方準備好接收數據,它置高RTS線表示它準備好了,如果發送方也就緒,它置高CTS,表示它即將發送數據。另壹組線是DTR(DataTerminal Ready)和DSR(Data SetReady)。這些線主要用於Modem通信。使得串口和Modem通信他們的狀態。例如:當Modem已經準備好接收來自PC的數據,它置高DTR線,表示和電話線的連接已經建立。讀取DSR線置高,PC機開始發送數據。壹個簡單的規則是DTR/DSR用於表示系統通信就緒,而RTS/CTS用於單個數據包的傳輸。在LabWindows,函數SetCTSMode使能或者禁止使用硬件握手。如果CTS模式使能,LabWindows使用如下規則:當PC發送數據:RS-232庫必須檢測CTS線高後才能發送數據。當PC接收數據:如果端口打開,且輸入隊列有空接收數據,庫函數置高RTS和DTR。如果輸入隊列90%滿,庫函數置低RTS,但使DTR維持高電平。如果端口隊列近乎空了,庫函數置高RTS,但使DTR維持高電平。如果端口關閉,庫函數置低RTS和DTR。c,XModem握手:最後討論的握手叫做XModem文件傳輸協議。這個協議在Modem通信中非常通用。盡管它通常使用在Modem通信中,XModem協議能夠直接在其他遵循這個協議的設備通信中使用。在LabWindows中,實際的XModem應用對用戶隱藏了。只要PC和其他設備使用XModem協議,在文件傳輸中就使用LabWindows的XModem函數。函數是XModemConfig,XModemSend和XModemReceive。XModem使用介於如下參數的協議:start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries、packet_size。這些參數需要通信雙方認定,標準的XModem有壹個標準的定義......>>

問題九:如何設計壹種串行通信協議 簡單的說要做壹個協議,首先要考慮妳的總線拓撲形式。是點對點的方式傳輸(是壹主壹從,還是兩個為對等的節點),還是壹個主機下掛了多個從節點(節點和主機如何鏈接,是星形鏈接、樹形鏈接,還是總線型連接)。

如果是壹主壹從的點對點那是最簡單的。如果是兩個對等的節點或者壹對多總線節點,那就需要考慮總線競爭、沖突、地址設計、超時處理等問題。

那最簡單的主從點對點來說(封閉式網絡,即設備節點數確定,且非相設備協議不相同無法接入該網絡)。

首先妳的波特率設置,最好是所有節點都定壹個波特率,有人做過不同波特率通信的,反正我沒玩過。而且波特率的大小要從妳總線的數據量開銷、處理器/控制器的速度、應用的環境中電磁復雜程度、硬件設備的帶寬(頻率高了會不會受影響,導致丟包率增大,或影響其他設備)

然後壹個幀開頭應該帶有幀標識,讓對方判斷收到的是數據幀還是應答幀。點對點通信,最少應該具備壹個數據命令幀和應答幀。數據命令幀是包含主要設信息的,應答幀是告訴對方是正確否收到數據,如沒有,請重發。另外如果收的幀標識都不是這兩種的,就說明可能總線出現問題/受幹擾/接入其他未知設備。

其次考慮妳傳輸的數據量有多大,是否需要數據包定長。如果傳輸的數據時而多(十幾/幾十個個字節),時而少(不到壹個字節),那就不能定長。這樣的話就需要在第二第三個字節(放幀標識的字節前後)加上包/幀的長度信息。

然後是地址,雖然只有兩個點在面對面對話通信,但建議加上源地址和目標地址。這個只是建議,在點對點通信中可選。

之後應該加上壹個序列號,用以表示為第幾次發送。比如說,我發了壹次Hello給妳,下壹次應該發壹個World給妳,但妳反饋應答幀說沒收到或者收到錯誤,然後我再發壹次Hello給妳,這時的Hello這幀中的序列號應為2了。

接下來是數據內容……

最後是校驗,CRC ……異或……什麽的,對前面所有的數據從幀頭到幀尾的位做數據校驗。防止傳輸過程中,任何壹個bit出錯。

現在想到的就是這麽點。吐個槽,記得當年我們壹組人做鐵路信號設備的協議,研究院的人看了我們兩周想出來的協議後(基於RS584),說:協議是這麽簡單就搞出來的麽!沒試驗個壹年的工夫都不敢說整出壹個安全的強壯的協議來。

問題十:串口通訊時的數據幀格式和通訊協議有什麽區別 串口參數指的是串口通信所需要設置的相應參數,就像手機入網,妳用的是電信的號碼還是移動的號碼,用的是3G網絡還是2G網絡,雖然是手機自動設置的,但是還是要設置滴

通信協議就是妳說的什麽語言,妳和別人溝通,大家都說普通話,壹個說英文,壹個說法語肯定不行啦。

485-can-tcp/...nt

  • 上一篇:lol電競選手作息時間表
  • 下一篇:在線等開不了機
  • copyright 2024編程學習大全網