
發布
注冊
/
登錄串口通訊
關注創建者:電氣圈 創建時間:2021-07-15

串口通訊的實例教程
電力作業人員在使用PLC的時候會接觸到很多的通訊協議以及通訊接口,最基本的PLC串口通訊和基本的通訊接口你都了解嗎?
1,什么是串口通訊?
串口是計算機上一種非常通用設備通信的協議(不要與通用串行總線Universal Serial Bus或者USB混淆)。大多數計算機包含兩個基于RS232的串口。串口同時也是儀器儀表設備通用的通信協議;很多GPIB兼容的設備也帶有RS- 232口。同時,串口通信協議也可以用于獲取遠程采集設備的數據。
2,串口通訊的使用
串口通訊使用3根線完成:(1)地線,(2)發送,(3)接收。由于串口通信是異步的,端口能夠在一根線上發送數據同時在另一根線上接收數據。其他線用于握手,但是不是必須的。
串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對于兩個進行通行的端口,這些參數必須匹配:
a,波特率:這是一個衡量通信速度的參數。它表示每秒鐘傳送的bit的個數。例如300波特表示每秒鐘發送300個bit。當我們提到時鐘周期時,我們就是指波特率例如如果協議需要4800波特率,那么時鐘是4800Hz。這意味著串口通信在數據線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通訊。
b,數據位:這是衡量通信中實際數據位的參數。當計算機發送一個信息包,實際的數據不會是8位的,標準的值是5、
7和8位。如何設置取決于你想傳送的信息。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數據使用簡單的文本(標準ASCII碼),那么每個數據包使用7位數據。每個包是指一個字節,包括開始/停止位,數據位和奇偶校驗位。
展開 電氣作業人員在使用PLC的時候會接觸到很多的通訊協議以及通訊接口,最基本的PLC串口通訊和基本的通訊接口你都了解嗎?
1,什么是串口通訊?
串口是計算機上一種非常通用設備通信的協議(不要與通用串行總線Universal Serial Bus或者USB混淆)。大多數計算機包含兩個基于RS232的串口。
串口同時也是儀器儀表設備通用的通信協議;很多GPIB兼容的設備也帶有RS- 232口。同時,串口通信協議也可以用于獲取遠程采集設備的數據。
2,串口通訊的使用
串口通訊使用3根線完成:(1)地線,(2)發送,(3)接收。由于串口通信是異步的,端口能夠在一根線上發送數據同時在另一根線上接收數據。其他線用于握手,但是不是必須的。
串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對于兩個進行通行的端口,這些參數必須匹配:
a,波特率:這是一個衡量通信速度的參數。它表示每秒鐘傳送的bit的個數。例如300波特表示每秒鐘發送300個bit。當我們提到時鐘周期時,我們就是指波特率例如如果協議需要4800波特率,那么時鐘是4800Hz。
這意味著串口通信在數據線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通訊。
b,數據位:這是衡量通信中實際數據位的參數。當計算機發送一個信息包,實際的數據不會是8位的,標準的值是5、7和8位。如何設置取決于你想傳送的信息。
比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。
展開 平時使用串口打印出現亂碼的絕大部分原因是串口波特率沒對。
那么我們怎么測量實際的波特率呢?
在這之前,順便一起回顧一下波特率的概念。
什么是波特率、比特率?
比特率(Bitrate)表示每秒鐘傳輸的
二進制位數,單位為比特每秒(bit/s)。
波特率(Baudrate)表示每秒鐘傳送的
碼元符號的個數,是衡量數據傳送速率的指標。
碼元是通訊信號調制的概念,通訊中常用時間間隔相同的符號來表示一個二進制數字,這樣的信號稱為碼元。
常見的通訊傳輸中,用 0V 表示數字 0, 5V 表示數字 1,那么一個碼元可以表示兩種狀態 0 和 1,所以一個碼元等于一個二進制比特位,此時波特率的大小與比特率一致。
如果在通訊傳輸中,有 0V、2V、 4V 以及 6V 分別表示二進制數 00、 01、 10、 11,那么每個碼元可以表示四種狀態,即兩個二進制比特位,所以碼元數是二進制比特位數的一半,這個時候的波特率為比特率的一半。
因為很多常見的通訊(
比如串口通訊
)中一個碼元都是表示兩種狀態,所以大家常常直接以波特率來表示比特率 。
串口通訊協議
在串口通訊的協議層中,規定了數據包的內容,它由啟始位、主體數據、校驗位以及停止位組成,通訊雙方的數據包格式要約定一致才能正常收發數據,其數據幀組成如下:
下面我們來實際驗證一下其數據幀是不是真的是這樣的。
編寫如下代碼:
代碼很簡單,就是使用串口不斷地往外發數據
0xAA
(當然發送其它數據也是可以的) 。
展開 電氣作業人員在使用PLC的時候會接觸到很多的通訊協議以及通訊接口,最基本的PLC串口通訊和基本的通訊接口你都了解嗎?
01
什么是串口通訊?
串口是計算機上一種非常通用設備通信的協議(不要與通用串行總線Universal Serial Bus或者USB混淆)。大多數計算機包含兩個基于RS232的串口。
串口同時也是儀器儀表設備通用的通信協議;很多GPIB兼容的設備也帶有RS- 232口。同時,串口通信協議也可以用于獲取遠程采集設備的數據。
02
串口通訊的使用
串口通訊使用3根線完成:(1)地線,(2)發送,(3)接收。由于串口通信是異步的,端口能夠在一根線上發送數據同時在另一根線上接收數據。其他線用于握手,但是不是必須的。
串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對于兩個進行通行的端口,這些參數必須匹配:
a.波特率:這是一個衡量通信速度的參數。它表示每秒鐘傳送的bit的個數。例如300波特表示每秒鐘發送300個bit。當我們提到時鐘周期時,我們就是指波特率例如如果協議需要4800波特率,那么時鐘是4800Hz。
這意味著串口通信在數據線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。
展開 電氣作業人員在使用PLC的時候會接觸到很多的通訊協議以及通訊接口,最基本的PLC串口通訊和基本的通訊接口你都了解嗎?
1,什么是串口通訊?
串口是計算機上一種非常通用設備通信的協議(不要與通用串行總線Universal Serial Bus或者USB混淆)。大多數計算機包含兩個基于RS232的串口。
串口同時也是儀器儀表設備通用的通信協議;很多GPIB兼容的設備也帶有RS- 232口。同時,串口通信協議也可以用于獲取遠程采集設備的數據。
2,串口通訊的使用
串口通訊使用3根線完成:(1)地線,(2)發送,(3)接收。由于串口通信是異步的,端口能夠在一根線上發送數據同時在另一根線上接收數據。其他線用于握手,但是不是必須的。
串口通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對于兩個進行通行的端口,這些參數必須匹配:
a,波特率:這是一個衡量通信速度的參數。它表示每秒鐘傳送的bit的個數。例如300波特表示每秒鐘發送300個bit。當我們提到時鐘周期時,我們就是指波特率例如如果協議需要4800波特率,那么時鐘是4800Hz。
這意味著串口通信在數據線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通訊。
b,數據位:這是衡量通信中實際數據位的參數。當計算機發送一個信息包,實際的數據不會是8位的,標準的值是5、7和8位。如何設置取決于你想傳送的信息。
比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。
展開 
串口通訊的最新內容
XL2417D 透傳模組 采用 XL2417D 低功耗高性能 SoC 技術,集成 2.4G 射頻收發器、MCU 及豐富外設;模塊開發門檻低,用戶只要掌握串口 UART 接口通信,無需深究 2.4G 無線協議細節,即可快速實現低功耗無線數據傳輸、智能設備互聯類產品的開發 。
產品特點
● 2.4G RF SOC
● 工作電壓 1.7 V 至 3.6 V
● >4KV ESD,>4KV
崗位要求:
1.熟練使用CAE軟件Hypermesh軟件,具備中大型項目的經驗經驗;
2.熟悉TCL/TK,3年以上編程、使用經驗;
3.熟練使用常用數據庫(SQL Server、MySQL) ,熟練使用常用數據庫訪問組件;
4.熟練串口通訊編程或熟悉COM開發與應用,熟悉WINDOWS下標準的調試與開發;
5.力學/機械/汽車/材料等工科專業,碩士/博士研究生優先;
6.對新產品的結構設計
熟練使用CAE軟件Hypermesh軟件,具備中大型項目的經驗;</p><p class="ql-align-justify">2.熟悉TCL/TK,3年以上編程、使用經驗;</p><p class="ql-align-justify">3.熟練使用常用數據庫(SQL Server、MySQL) ,熟練使用常用數據庫訪問組件;</p><p class="ql-align-justify">4.熟練串口通訊編程或熟悉
USB 轉 RS485 是工控人常備工具,比如在做串口通訊時,我們可以利用串口助手監控數據。早期的西門子PLC 的下載線可以用此線纜替代,還用眾多的變頻器,伺服驅動器以及一切用 RS485 通訊的下載線,都可以用。一般原裝線纜都非常昂貴,使用通用的 USB 轉 RS485線纜,可以節省不少費用。
直接令float a=0x43678000這是不行的(不信的讀者可以自行驗證),這就是串口通訊當中經常遇到的問題,如果數據傳輸中包括了浮點型數據,在這里我們可以通過共用體或者結構體來解決。
二、RS485串口通訊
第三方設備大部分支持,西門子S7 PLC可以通過選擇自由口通信模式控制串口通信。最簡單的情況是只用發送指令(XMT)向打印機或者變頻器等第三方設備發送信息。不管任何情況,都必須通過S7 PLC編寫程序實現。
當選擇了自由口模式,用戶可以通過發送指令(XMT)、接收指令(RCV)、發送中斷、接收中斷來控制通信口的操作。
0
2
RS485串口通訊
第三方設備大部分支持,西門子S7 PLC可以通過選擇自由口通信模式控制串口通信。最簡單的情況是只用發送指令(XMT)向打印機或者變頻器等第三方設備發送信息。
電氣作業人員在使用PLC的時候會接觸到很多的通訊協議以及通訊接口,最基本的PLC串口通訊和基本的通訊接口你都了解嗎?
01
什么是串口通訊?
每一個紅外傳感器都配有獨立的濾波芯片,通過串口總線通訊。在圖中你可以看到升降模塊使用的電機和巨大齒輪。在機器人靠近底部的位置,安裝有四塊鉛蓄電池。
外殼
橘黃色的流線型塑料外殼采用ABS材料真空塑形。在其上有大量二次加工的結構。用于造Kiva的真空塑形機和數控銑想必都體積巨大。這個版本的Kiva外殼既復雜又造價高昂,新版本估計會采用全注塑結構。
如果使用USB轉串口也可以實現串口通訊,USB轉串口電路圖如下所示
STM32串口通訊代碼
STM32中串口通訊已經給大家建好了相應的庫函數,大家在使用和配置串口的時候直接進行調用庫函數和配置就行了,請大家參照一下代碼:
1、初始化結構體代碼
typedef struct {
uint32_t USART_BaudRate; // 波特率
uint16_t USART_WordLength