简单的串口通讯

问题描述

请告诉我怎样使用这个方法,第一个参数应该怎么填写///</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为延时时间哦没注意楼主注释!!调用就这么调吧。说明不用看了,嘿嘿。瞎猜的。

对的

时间: 2024-08-31 07:58:06

简单的串口通讯的相关文章

PHP在RS232串口通讯协议的应用演示[测试环境WinXP/PHP5.1.4]

php5|应用演示 一. 预先的知识: 什么是RS232/RS484及其应用?       QUOTE:RS232接口就是串口,电脑机箱后方的9芯(或25芯)插座,旁边一般有 "|O|O|" 样标识. 一般机箱有两个,新机箱有可能只有一个.笔记本电脑有可能没有. 有很多工业仪器将它作为标准通信端口.通信的内容与格式一般附在仪器的用户说明书中. 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式.由于串行通讯方式具有使用线路少.成本低,特别是在远程传输时,避免了

请问各位大神,在c#串口通讯中,怎么把接收到的数据保存在Excel表格中?

问题描述 请问各位大神,在c#串口通讯中,怎么把接收到的数据保存在Excel表格中? 本人最近做一个项目时需要把串口接收到的数据进行分析,数据量较大,比如5秒钟保存一次,连续工作一天,本人刚接触c#,串口通讯协议已写好,现在的问题是怎么把数据保存在Excel表格中以便分析?各位大神有没有用C#做过项目,求指教,最好有源代码!本人刚进论坛,没分,如果满意的话以后再补给你!!!!!!!!!急!!!!!! 解决方案 C#操作Excel(创建.打开.读写.保存)几种方法的总结 C#基于微软EXCEL类库

java串口通讯

  最近在做java串口通讯,主要是用个人电脑通过串口从RS485读取数据,并通过crc循环冗余校验,把接收正确的数据解析,插入数据库mysql,并用SSH技术把数据库数据以表格以及图表形式显示       思路:  1.为了从RS485读取数据,由于暂时没有硬件设备,系统是win7,故采用Virtual Serial Port Drive(VSPD)这块虚拟串口软件代替.并下载sscom32.exe模拟串口通信软件.  2. 要想实现串口通信,用Java实现串口通信(windows系统下),需

Android通过JNI实现与C语言的串口通讯操作蓝牙硬件模块

一直想写一份技术文档,但由于自感能力有限而无从下笔,最近做了个关于Android平台下实现与C语言的通讯来操作蓝牙模块的项目,中间碰到了许多问题,也在网上查了许多资料,在完成主要功能后,也有一些人在网上问我一些问题,这里写下这篇文档算是一个阶段性的总结.如果反响好,后续将会发上Android Stub与新版Android HAL的学习文档. 由于蓝牙模块是串口通讯机制,使用C语言来访问,而Android的应用层采用Java,无法直接操作硬件.故使用JNI的技术实现主要功能.Android的JNI

图片-请教一下关于串口通讯中校检和的问题

问题描述 请教一下关于串口通讯中校检和的问题 请教各位高手,我现在想用串口调试助手发送一些数据,但校检和这位一直不知道该怎么弄,下面是相关的说明图片(本人新手都算不上,被强拉来做这个...) 解决方案 这个校验和,其实就是简单的从起始字节到数据字节所有数据的累加和取反加一. 以上几条数据,通过科学计算器可验证. 解决方案二: 校验位分为奇校验.偶检验以及无校验位.不过一般你只要简单的发送一些数据的话,就没必要用校验.也就是直接选择无校验就行 解决方案三: 额,请问波特率怎么匹配.. 解决方案四:

C#我做了个PC发送系统时间到单片机!!熟悉串口通讯的帮帮忙谢谢!!

问题描述 代码片段!Port1=comboBox1.Text.ToString();Baud=Int16.Parse(comboBox2.Text);sp1.Open();sum="A"+"3"+sth+stm;this.textBox1.AppendText("rn端口重新打开发送中!!");data=Encoding.Unicode.GetBytes(sum);//放入数组stringstr=Convert.ToBase64String(da

串口通讯中,为何读出数据读出时候,老是读取其中的一部分,不能一次完全读出,而是残留到下次才能读出。

问题描述 发出的数据格式是以ASCII为2的STX为开头,以2个空格结束的字符串.格式如下STX"ABCDEFGH"字符串空格空格但是接受数据的时候,总是收不到后面的空格.年月日时分秒毫秒16进制数字的显示ASCII格式的显示2008/06/0513:39:42125-41-42-43-44-45-46-47-48ABCDEFGH<--第一次没有收到2个空格(20H20H)2008/06/0513:39:46828-20-20-41-42-43-44-45-46-47-48ABC

Visual Basic串口通讯调试方法

visual 现有电子秤一台,使用串口与计算机进行通讯.编写VB程序来访问串口,达到读取电子秤上显示的数据.该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600.偶校验.7个数据位.2个停止位.所有字符均发送11位ASCII码,一个起始位.在VB中与串口通讯需要引入控件MSComm串口通讯控件(在Microsoft Comm Control 6.0中).具体程序如下:控件简称:MSC Dim Out(12) As Byte '接收var中的值Dim var As Va

使用Win32创建串口通讯程序

介绍: 本文的目的是介绍如何在Win32中处理串口.串口通讯可以通过多种技术实现,例如:ActiveX,I/O存取和文件操作.本文介绍Win32平台下通过文件操作技术使用串口.程序员可以使用 Microsoft Visual C++ Version 6.0所提供的kernel32.lib.在Microsoft Windows(2000,Me,XP and 95/98)中,串口作为文件处理.因此可以通过Windows文件创建函数打开串口. 文章不仅介绍了串口通讯,也介绍了在串口通讯应用程序中实现多