用Mscomm控件做一个串口调试软件,下位机总共发上来77个字节的信文,可是无论我把inputlen属性设多大,却只能最多收到前8个字节的数据,只是为什么呀?我的inbuffersize=1024,已经很大了,谢谢
解决方案 »
- 调用DLL中打开窗体死掉的问题
- VB中哪个GRID控件可以实现非连续多选(行)
- 如何判断数组里有没有一个值与已知字符相等
- SSTab的问题
- 请教:如何在程序中修改一个文件的日期?(精确到秒)
- 用VB执行一个sybase存储过程的时候,存储过程中Insert部分执行了,可是Update部分没有执行,为什么?
- 如何实现IIS+Resin的用户登录??
- 请问 vb中的 media player如何用
- 帮帮忙了,小小的问题要请教。请进入〈〈〈〈〈
- vb6如何解决窗体控件数极限
- 终于有了5条3角裤,散分
- Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;"是在哪里复制过来的??
Private Sub MSComm2_OnComm()
Select Case MSComm2.CommEvent
Case comEvReceive
Call Rec_disp
End Select
MSComm2.PortOpen = False
End SubPublic Sub Rec_disp()
Dim Buffer() As Byte
Dim Arr() As Byte
Dim Recbuf() As Byte
Dim Recbufsum() As Byte
Static Intcount As Integer
Static Templen As Integer
Dim P, P1, N As Integer
Static Bufcount As Integer
Dim Chksum() As Byte
Dim Chkresult As Boolean
Dim Recsum() As Byte
Dim N_so_mode(7) As Byte
Dim Status(15) As Boolean Buffer = MSComm2.Input
Arr = Buffer
余下的省略了,到这步时,数组Arr里只有8个字节的内容,这是为什么呀??谢谢
你可以试试一个字节一个字节的接收
dim buf(0 to 0) as byte
dim i as integer
i=0
do until mscomm1.inbufcount>0
buf=mscomm1.input
delay(xx) '实在不行你可以用个延时函数,延时个10毫秒看看
arr(i)=buf(0)
i=i+1
loop