gpib通信協議實例代碼 串口的作用及四個參數?
串口是計算機上設備非常常見的通信協議(不要與通用串行總線或USB混淆)。大多數計算機包含兩個基于RS232的串行端口。串口也是儀器儀表常用的通信協議。許多GPIB兼容設備也有RS232端口。同時,串行
串口是計算機上設備非常常見的通信協議(不要與通用串行總線或USB混淆)。大多數計算機包含兩個基于RS232的串行端口。串口也是儀器儀表常用的通信協議。許多GPIB兼容設備也有RS232端口。同時,串行通信協議也可以用來獲取遠程采集設備的數據。
串行通信的概念非常簡單。串行端口逐位發送和接收字節。雖然比逐字節并行通信慢,但串口可以用一條線發送數據,用另一條線接收數據。簡單,可以實現遠距離通信。比如IEEE488在定義并行流量狀態時,規定設備線路總長度不超過20米,任意兩個設備之間的長度不超過2米;對于串口,長度可以達到1200米。
通常,串行端口用于傳輸ASCII字符。通用三條線來完成(1)地線,(2)傳輸和(3)接收。因為串行通信是異步的,端口可以在一條線路上發送數據,在另一條線路上接收數據。其他線是用來握手的,但不是必須的。串行通信最重要的參數是波特率、數據位、停止位和奇偶校驗。對于兩個通過端口,這些參數必須與匹配。
(a)波特率這是一個衡量通信速度的參數。它表示每秒傳輸的位數。例如,300波特意味著每秒發送300位。當我們談到時鐘周期時,我們指的是波特率。例如,如果協議要求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,所以有三個邏輯高位。高位和低位并不真正檢查數據,只是設置邏輯高或邏輯低檢查。這使得接收設備能夠知道比特的狀態,并且有機會判斷噪聲是否干擾通信或者數據的發送和接收是否不同步。
萬用表也要設置成和這個一樣,一般是默認的,GPIB地址設置為31,這樣你電腦上的程序設置成接收就可以接收N個以上的電壓。如果要發送命令,那么GPIB地址應該設置為31以外的任何數字。