通讯协议是:采用8051异步主从9位通讯协议,起始 D0,D1,D2,D3,D4,D5,D6,D7,D8 停止(说明:起始位1位,D0-D8数据或地址位,D8为数据/地址位的区别位,D8=0表示数据,D8=1表示地址。),请问各位大哥要满足这种通讯协议该如何设置
mscom485.Settings = "4800,m,8,1"
buffer = arr
mscom485.Output = buffer
Select Case m_CmdTmp.CmdType
Case "00", "02", "03", "04", "05"
ReDim arr(2)
arr(0) = Val("&H" & m_CmdTmp.CmdType) '命令号
arr(1) = 0 '传送字节数
arr(2) = Val("&H" & m_CmdTmp.PlantAddr) + arr(0) + arr(1) '校验和
mscom485.Settings = "4800,s,8,1"
buffer = arr
mscom485.Output = buffer
timer485.Enabled = True
m_b485Busy = True '端口忙 ,正在通讯以上是别人写的程序,但是我不是很懂,为什么mscom485.Settings = "4800,m,8,1"后,还要设置mscom485.Settings = "4800,S,8,1",M(标志位)怎么处理呢?
mscom485.Settings = "4800,m,8,1"
buffer = arr
mscom485.Output = buffer
Select Case m_CmdTmp.CmdType
Case "00", "02", "03", "04", "05"
ReDim arr(2)
arr(0) = Val("&H" & m_CmdTmp.CmdType) '命令号
arr(1) = 0 '传送字节数
arr(2) = Val("&H" & m_CmdTmp.PlantAddr) + arr(0) + arr(1) '校验和
mscom485.Settings = "4800,s,8,1"
buffer = arr
mscom485.Output = buffer
timer485.Enabled = True
m_b485Busy = True '端口忙 ,正在通讯以上是别人写的程序,但是我不是很懂,为什么mscom485.Settings = "4800,m,8,1"后,还要设置mscom485.Settings = "4800,S,8,1",M(标志位)怎么处理呢?
ReDim arr(0)
arr(0) = Val("&H" &m_CmdTmp.PlantAddr)
mscom485.Settings = "4800,m,8,1"
buffer = arr
mscom485.Output = buffer
Select Case m_CmdTmp.CmdType
Case "00", "02", "03", "04", "05"
ReDim arr(2)
arr(0) = Val("&H" & m_CmdTmp.CmdType) '命令号
arr(1) = 0 '传送字节数
arr(2) = Val("&H" & m_CmdTmp.PlantAddr) + arr(0) + arr(1) '校验和
mscom485.Settings = "4800,s,8,1"
buffer = arr
mscom485.Output = buffer
timer485.Enabled = True
m_b485Busy = True
MSComm1.Settings="9600,M,8,1" 。其中M为Mark,是把字符校验位置1.
MSComm1.Settings="9600,S,8,1" 。其中S为Space,是把字符校验位置0.