谢谢先。有价值就与有分!
解决方案 »
- vb的数据,如何在web页面显示
- 谁有优秀的示例的mdb数据库
- 如何取得图片的二进制数据?
- 如何截获系统关机、重启、注销的事件?
- [问]VB中怎么使用索引加快查询速度(数据库:access)
- 从来没有一个人对MSFlexGrid的滚动方式提出异议,难道你们都适应那滚动条吗?
- 急急~!!取400-900之间(至少400)不重复的数,(整数)
- 关于VB和SQL SERVER 2000开发数据库的问题?????????
- 寻找有关Adodc控件和引用ado的技术性文章,为了我毕业论文,。。在先等待,Thank You!
- 简单问题。vb中如何判断文本框输入的是数字还是中文?
- 谁知道如何显示、打印左右镜像的文字?
- Access 数据库 的记录条数,极限是多少??
无论PC端还是外设端,只做4项工作:
1 setup串口
2 把要发送的数据放到发送缓存
3 从接收缓存取回数据
4 释放串口PC端的编程主要是两种方法:
1 直接操作file对象(在DOS系统以及后续的Windows下,设备视为一个文件)。例如用VC写DLL就是用此方式。
2 在VB中利用MSComm控件。实际上是间接操控file对象。
MSComm1属性
CommPort = 2
DTREnable = True
RThreshold = 1Option ExplicitPrivate Sub Command1_Click()
MSComm1.Output = Text1.Text
End SubPrivate Sub Form_Load()
MSComm1.CommPort = 2
' 9600 波特,无奇偶校验,8 位数据,一个停止位。
MSComm1.Settings = "9600,N,8,1"
' 当输入占用时,
' 告诉控件读入整个缓冲区。
MSComm1.InputLen = 0
' 打开端口。
MSComm1.PortOpen = True
End SubPrivate Sub Form_Unload(Cancel As Integer)
If MSComm1.PortOpen Then MSComm1.PortOpen = False
End SubPrivate Sub MSComm1_OnComm()
Dim sTemp 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.
sTemp = MSComm1.Input
Text2.Text = Text2.Text & sTemp
Case comEvSend ' 传输缓冲区有 Sthreshold 个字符
Case comEvEOF ' 输入数据流中发现 EOF 字符
'
End Select
End Sub
欢迎使用我开发的软件 RS-232/RS-485 串口通讯调试器 XP
http://www.tsfigure.com.cn/
详细说明了串口编程
1,控件的话用Mscomm,在oncomm事件里接受数据,
2,用Api的话就用createfile,建立串口设备,用writefile发数据,readfile读数据,
但要建立线程或定时器去读