Private Sub Command8_Click()MSComm1.CommPort = Val(Combo1.Text) '打开串口If MSComm1.PortOpen = False ThenMSComm1.Settings = " Combo2.Text, Combo3.Text,Combo4.Text" '设置参数 ------ 有问题!MSComm1.PortOpen = TrueEnd IfMSComm1.OutBufferCount = 0 '清空发送缓存区MSComm1.InBufferCount = 0 '清空接收缓存区MSComm1.Output = "text3.text" & vbC ' 读出并发送AT命令End Sub着是我写的一个发送AT命令的小程序,但是有错误,相关参数是从combo.text 中读出的,麻烦各位看看!
解决方案 »
- Webbrowser获取的源码 不是完整的!
- 用VB编一个带通滤波
- 如何读取设置屏幕X坐标?
- VB如何才能post数据后,并将后一页显示在新开的ie中
- VB中用ADODB连接的数据库,怎么对表进行操作啊
- 90分-高手接招:如何关掉上一个运行的程序,就象在任务管理器中结束那样?--在线等》》》》》》》》
- 请问如何知道另一个程序中什么时候按下Enter键和点击确定键?
- 请问一个关于用mscomm API 用232与单片机进行通讯的问题
- 迷茫的人,关于编程语言的选择.
- 单字节信息流的还原
- VB开发网页文本浏览器
- 一个奇怪的现象,在其他frame里面的combo在主窗口启动初始化以后,在该frame里面,数据就消失了
MSC1.Settings = "9600,N,8,1" '波特率9600,偶校验,8个数据位,1个停止位
没设置!~~~
添加一MSCOMM控件.
添加
COMMAND1用于打开/关闭串口
COMMAND2用于发送数据.
添加TEXT1,TEXT2,text3
添加combo1,combo2,combo3,combo4,combo5下面是完整代码
把下面的代码完整复制后,运行试试,下面的代码经试验,运行成功!Option ExplicitPrivate Sub Command1_Click()If MSComm1.PortOpen Then
MSComm1.PortOpen = False
Command1.Caption = "打开端口"
Command2.Enabled = False
Else
MSComm1.CommPort = Int(Combo1.Text)
MSComm1.Settings = CStr(Combo2.Text & "," & Combo3.Text & "," & Combo4.Text & "," & Combo5.Text) '这里不要弄错
Command1.Caption = "关闭端口"
MSComm1.PortOpen = True
Command2.Enabled = True
End If
End SubPrivate Sub Command2_Click()
MSComm1.Output = Text1.Text
End SubPrivate Sub Form_Load()
Command1.Caption = "打开端口"
Command2.Enabled = False
MSComm1.Handshaking = 0
Combo1.AddItem "1" '往COMBO1里添加数据,请自行加上
Combo1.AddItem "2"
Combo1.Text = "1"
Combo2.AddItem "110" '往COMBO2里添加数据 串口速率
Combo2.AddItem "300"
Combo2.AddItem "600"
Combo2.AddItem "1200"
Combo2.AddItem "2400"
Combo2.AddItem "4800"
Combo2.AddItem "9600"
Combo2.AddItem "14400"
Combo2.AddItem "19200"
Combo2.AddItem "28800"
Combo2.AddItem "38400"
Combo2.AddItem "56000"
Combo2.AddItem "57600"
Combo2.AddItem "115200"
Combo2.AddItem "128000"
Combo2.AddItem "256000"
Combo2.Text = "9600"
Combo3.AddItem "E" '往COMBO3里添加数据, 奇偶校验
Combo3.AddItem "O"
Combo3.AddItem "N"
Combo3.AddItem "M"
Combo3.AddItem "S"
Combo3.Text = "N"
Combo4.AddItem "4" '往COMBO4里添加数据, 数据位
Combo4.AddItem "5"
Combo4.AddItem "6"
Combo4.AddItem "7"
Combo4.AddItem "8"
Combo4.Text = "8"Combo5.AddItem "1" '往COMBO5里添加数据, 停止位
Combo5.AddItem "1.5"
Combo5.AddItem "2"
Combo5.Text = "1"MSComm1.NullDiscard = True '对mscomm1控件设参数
MSComm1.RTSEnable = True
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1End SubPrivate Sub MSComm1_OnComm()
Dim Buffer As String
Select Case MSComm1.CommEvent
' 错误
Case comEventBreak ' 收到 Break。
Case comEventCDTO ' CD (RLSD) 超时。
Case comEventCTSTO ' CTS Timeout。
Case comEventDSRTO ' DSR Timeout。
Case comEventFrame ' Framing Error
Case comEventOverrun '数据丢失。
Case comEventRxOver '接收缓冲区溢出。
Case comEventRxParity ' Parity 错误。
Case comEventTxFull '传输缓冲区已满。
Case comEventDCB '获取 DCB] 时意外错误 ' 事件
Case comEvCD ' CD 线状态变化。
Case comEvCTS ' CTS 线状态变化。
Case comEvDSR ' DSR 线状态变化。
Case comEvRing ' Ring Indicator 变化。
Case comEvReceive ' 收到 RThreshold # of chars.
Buffer = MSComm1.Input
Debug.Print "接收 - " & StrConv(Buffer, vbUnicode)
Text2.Text = StrConv(Buffer, vbUnicode)
Case comEvSend ' 传输缓冲区有 Sthreshold 个字符 '
'
Case comEvEOF ' 输入数据流中发现 EOF 字符
'
End Select
End Sub