| 发表于:2007-03-16 20:54:322楼 得分:20 |
试试这样行不行: option explicit private sub form_load() mscomm1.commport = 1 mscomm1.inputmode = cominputmodebinary mscomm1.inputlen = 0 mscomm1.rthreshold = 1 mscomm1.sthreshold = 1 mscomm1.portopen = true end sub private sub form_unload(cancel as integer) mscomm1.portopen = false end sub public function senddata(byref bytdata() as byte) as long on error resume next mscomm1.output = bytdata if err.number = 0 then do doevents loop until mscomm1.outbuffercount = 0 end if senddata = err.number err.clear on error goto 0 end function private sub mscomm1_oncomm() dim bytreceived as variant dim i as integer on error resume next select case mscomm1.commevent case comevreceive bytreceived = mscomm1.input for i = 0 to ubound(bytreceived) text1.text = text1.text & right( "0 " & hex(bytreceived(i)), 2) next end select on error goto 0 end sub private sub cmdconnect_click() dim bytdata1(0) as byte dim bytdata(21) as byte dim i as integer bytdata1(0) = 8 bytdata(20) = 8 bytdata(21) = 128 for i = 1 to 19 bytdata(i) = 0 next text1.text = " " mscomm1.settings = "19200,m,8,2 " call senddata(bytdata1) mscomm1.settings = "19200,s,8,2 " call senddata(bytdata) mscomm1.settings = "19200,m,8,2 " delay 500 if text1.text = "0f " then msgbox "接收成功 " end if text1.text = " " mscomm1.settings = "19200,m,8,2 " call senddata(bytdata1) mscomm1.settings = "19200,s,8,2 " call senddata(bytdata) mscomm1.settings = "19200,m,8,2 " delay 500 if text1.text = "0f " then msgbox "接收成功 " end if text1.text = " " mscomm1.settings = "19200,m,8,2 " call senddata(bytdata1) mscomm1.settings = "19200,s,8,2 " call senddata(bytdata) mscomm1.settings = "19200,m,8,2 " delay 500 if text1.text = "0f " then msgbox "接收成功 " end if text1.text = " " mscomm1.settings = "19200,m,8,2 " call senddata(bytdata1) mscomm1.settings = "19200,s,8,2 " call senddata(bytdata) mscomm1.settings = "19200,m,8,2 " delay 500 if text1.text = "0f " then msgbox "接收成功 " end if text1.text = " " mscomm1.settings = "19200,m,8,2 " call senddata(bytdata1) mscomm1.settings = "19200,s,8,2 " call senddata(bytdata) mscomm1.settings = "19200,m,8,2 " delay 500 if text1.text = "0f " then msgbox "接收成功 " end if end sub | | |
|