问题描述
各位同仁们,我现在想做一个地磅称重的软件,现在碰到COM读数据的问题...各位:mscomm具体读数据的实例学习一下
解决方案
解决方案二:
.NET2.0开始,就可以用SerialPort类来访问串口了,没必要再用MSCOMM来做了。
解决方案三:
能说的具体一点吗??
解决方案四:
我有,要的话联系我:MSN:shiyulun1984@sina.com
解决方案五:
用MSComm控件:REM串口初始化PublicSubSCIinit(ByRefMSComm1AsAxMSCommLib.AxMSComm,ByValCOMxAsByte,ByValSCIFormatAsString)IfMSComm1.PortOpen=TrueThenMSComm1.PortOpen=FalseEndIfMSComm1.CommPort=COMx'串行口号MSComm1.Settings=SCIFormat'定义传输格式MSComm1.InputMode=MSCommLib.InputModeConstants.comInputModeBinary'二进制数据格式MSComm1.RThreshold=0'关闭串行中断MSComm1.InputLen=0'一次读取缓冲区全部数据MSComm1.PortOpen=True'打开串行口MSComm1.InBufferCount=0EndSub'----------------------------'函数名:SCISendN'功能:发送N个数据'参数:data-待发送的数据'----------------------------PublicSubSCISendN(ByRefMSComm1AsAxMSCommLib.AxMSComm,ByValdata()AsByte)MSComm1.OutBufferCount=0MSComm1.Output=dataMSComm1.OutBufferCount=0MSComm1.InBufferCount=0EndSub'----------------------------'函数名:SCIRecvN'功能:接收N个数据'----------------------------PublicFunctionSCIRecvN(ByRefMSComm1AsAxMSCommLib.AxMSComm,ByValCountAsInteger,ByValDelayTimeAsInteger)AsBooleanDimiAsIntegerDimd1AsIntegerDimresultAsBooleand1=Microsoft.VisualBasic.DateAndTime.TimerDoApplication.DoEvents()IfMicrosoft.VisualBasic.DateAndTime.Timer-d1>DelayTimeThenresult=False's内未接收到1个数据,返回FlaseGoToSCIRecvN_exitEndIfLoopUntilMSComm1.InBufferCount>=CountG_RecvData=MSComm1.InputMSComm1.InBufferCount=0result=TrueSCIRecvN_exit:ReturnresultEndFunction