问题描述
请告诉我怎样使用这个方法,第一个参数应该怎么填写///</summary>///<paramname="ReadBuf">串口数据缓冲</param>///<paramname="ReadRoom">串口数据缓冲空间大小</param>///<paramname="ByteTime">字节间隔最大时间</param>///<returns>从串口实际读入的字节个数</returns>publicintReadBlock(outbyte[]ReadBuf,intReadRoom,intByteTime){//thrownewSystem.NotImplementedException();ReadBuf=newbyte[1024];Array.Clear(ReadBuf,0,ReadBuf.Length);sbytenBytelen;//longnByteRead;if(serialPort1.IsOpen==false)return0;nBytelen=0;serialPort1.ReadTimeout=ByteTime;while(nBytelen<(ReadRoom-1)){try{ReadBuf[nBytelen]=(byte)serialPort1.ReadByte();nBytelen++;//addone}catch(Exceptionex){thrownewException(ex.Message);break;}}ReadBuf[nBytelen]=0x00;returnnBytelen;}
解决方案
解决方案二:
调用方法byte[]ReadBuf;ReadBlock(outbyte[]ReadBuf,10,1000);简单说明下:ReadBuf是返回结果,10读取次数,1000为延时时间
解决方案三:
直接传递一个数组变量,不需要初始化,该函数内部实现了初始化过程
解决方案四:
引用1楼lpingz的回复:
调用方法byte[]ReadBuf;ReadBlock(outbyte[]ReadBuf,10,1000);简单说明下:ReadBuf是返回结果,10读取次数,1000为延时时间
哦没注意楼主注释!!调用就这么调吧。说明不用看了,嘿嘿。瞎猜的。
解决方案五:
引用3楼lpingz的回复:
引用1楼lpingz的回复:调用方法byte[]ReadBuf;ReadBlock(outbyte[]ReadBuf,10,1000);简单说明下:ReadBuf是返回结果,10读取次数,1000为延时时间哦没注意楼主注释!!调用就这么调吧。说明不用看了,嘿嘿。瞎猜的。
对的