一個上下位機的通信控制引數,使用的SerialMonitor監控串口通信資料程序,獲得的串口狀態如下圖:

而我在VB里怎么都不能設定為19200-8-E-2這種格式,始終只能設定成19200-8-E-1這種格式,和下位機通信的時候只有只要一寫引數到下位機就會錯誤,下位機報警,而讀下位機引數又是正常的。哪怕是整個通信程序全部模擬原裝產品的讀寫資料還是只要一寫引數到下位機就會錯誤報警。通信線也就是收發和地三根線而已,應該沒有其他檢測原裝不原裝的奇怪方法了,怎么可能無法寫引數到下位機呢?比較下來就只有串口設定的格式有點不一樣,請問他這中19200-8-E-2的格式在VB里怎么才能設定出來?
uj5u.com熱心網友回復:
使用最新版的MSCOMM控制元件?uj5u.com熱心網友回復:
這個最新版的也是叫“MSCOMM”?我用的還是6.0。再請問下里面的-2是什么意思?貌似搜索不到這個具體含義。uj5u.com熱心網友回復:
我沒接觸過串口通信,只知道一點兒皮毛。我覺得“19200-8-E-2”的意思,應該是:
19200: 資料傳輸波特率
8: 資料位數
E: 偶校驗
2: 停止位2位
至于VB6的串口控制元件能不能把“停止位”引數設定為2,我就不清楚了,
你在使用,這些應該比我清楚,要不然就按“相關引數設定方式”試一下就知道了。
uj5u.com熱心網友回復:
Settings 屬性
設定并回傳波特率、奇偶校驗、資料位、停止位引數。
語法
object.Settings[ = value]
Settings 屬性語法包括下列部分:
部分 描述
object 物件運算式,其值是“應用于”串列中的物件。
value 字串運算式,說明通訊埠的設定值,如下所述。
說明
當埠打開時,如果 value 非法,則 MSComm 控制元件產生錯誤 380(非法屬性值)。
Value 由四個設定值組成,有如下的格式:
"BBBB,P,D,S"
BBBB 為波特率,P 為奇偶校驗,D 為資料位數,S 為停止位數。value 的預設值是:
"9600,N,8,1"
下表列出合法的波特率:
設定值
110
300
600
1200
2400
9600(預設)
14400
19200
28800
38400
56000
128000
256000
下表說明合法的奇偶校驗值。
設定值 描述
E 偶數 (Even)
M 標記 (Mark)
N 預設 (Default)
None
O 奇數 (Odd)
S 空格 (Space)
下表列出合法的資料位值。
設定值
4
5
6
7
8 (預設)
下表列出合法的停止位值。
設定值
1 (預設)
1.5
2
資料型別
String
uj5u.com熱心網友回復:
19200波特率,偶校驗,8資料位,2停止位mscomm控制元件里settings就寫成 "19200,e,8,2"
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/65397.html
標籤:VB基礎類
