winform 串口16进制发送接收,要源码

winform 串口16进制发送接收
要源码,最好有注释,求高手帮忙

0

2个回答

static int buffersize = 18; //十六进制数的大小(假设为9Byte,可调整数字大小)
byte[] buffer = new Byte[buffersize]; //创建缓冲区

private void button1_Click(object sender, EventArgs e)
{
serialPort1.Read(buffer, 0, buffersize);
string ss;
ss = byteToHexStr(buffer); //用到函数byteToHexStr
textBox2.Text = ss;
serialPort1.Close();
MessageBox.Show("数据接收成功!", "系统提示");
}

//字节数组转16进制字符串
public static string byteToHexStr(byte[] bytes)
{
string returnStr = "";
if (bytes != null)
{
for (int i = 0; i < bytes.Length; i++)
{
returnStr += bytes[i].ToString("X2");
}
}
return returnStr;
}

private void Form1_Load(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8; //数据位
serialPort1.Parity = System.IO.Ports.Parity.None; //无奇偶校验位
serialPort1.StopBits = System.IO.Ports.StopBits.One; //一个停止位
serialPort1.ReadBufferSize = 1024; //接收缓冲区大小
serialPort1.Encoding = Encoding.BigEndianUnicode;
serialPort1.Open();
}

0

http://download.csdn.net/download/glen30/511463
完整代码

先采纳本回答留下邮箱,可以代下载

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#写的串口16进制收发程序(源码).rar
利用串口控件实现的16进制收发通讯程序:收到的数据以16进制显示,发送数据以16进制形式发送。
串口 十六进制
 在使用串口发送数据时可以选择字符串发送或者十六进制发送,通常情况下我们习惯选用字符串发送数据。关于两者的区别,需要从计算机存储数据的格式说起。         在计算机中,数据是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示。我们在用串口发送数据的时候首先将待数据转换为对应的ASCII码,然后再将这些ASCII码按照二进制的方式一位一位的发送出去。 ...
UDP通讯工具源码
c#,WinForm,Udp报文快速接收、发送测试工具,源码。可16进制。
上位机串口程序以十六进制接收数据
刚接触MFC,做了个串口通信的程序。由于是与单片机通信,需要以十六进制发送数据,为了验证在接收函数中把接收到的数据转换为十六进制显示。接收buf 1 之前定义为char型,比如发送1ABa,接收应该显示0x1a    0xba,但是实际接收显示的是0x1a   0xffffffba。后来把buf1改成BYTE类型,接收显示就正确了。不清楚为啥,猜想是不是char是有符号,把前面的都置1了。如果有大
MFC实现串口通信16进制发送接收
利用MFC实现串口通信,用到MSCOMM32控件,能控制发送的时间,最短1ms,同时支持16进制和字符型的接收和发送,功能很强大,基于VS2010编写,研究MFC串口通信的同学值得拥有!
esp8266----十六进制发送与接收
发送 esp8266支持tx口发送16进制 tdata={} tdata[1]=0x01 tdata[2]=0x03 tdata[3]=0x02 tdata[4]=0x00 tdata[5]=0x00 tdata[6]=0x03 tdata[7]=0x04 tdata[8]=0x73 uart.setup(0, 9600, 8, uart.PARITY_NONE, uart.STOPBITS_1)...
VC串口16进制指令发送与接收
之前在百度搜索有关串口收发指令的demo,得到的都是文本方式的。于是乎,我自己写了一个可以收发16进制指令的程序,供大家参考 该程序有详细的实现过程,同时也有测试示例
QT下写的界面程序,可以实现串口和UDP的字符串和16进制收发
用qt实现的界面程序,实现串口和UDP的字符串和16进制的收发以及qt界面美化的方法。 更详细的介绍及界面展示,请参考笔者博客,在CSDN上搜索“QT学习过程及简单串口和UDP通信demo开发过程及代码分享”。
51单片机串口程序,字符串16进制发送与接收
51单片机串口程序,字符串16进制发送与接收.docx
QT5 串口(com)通信_16进制数发送与接收以及接收数据提取
基于博客:http://blog.csdn.net/qq_27312943/article/details/52900527 大部分是“宗师之路”博主的代码,16进制发送与接收都没有问题
易语言版本串口调试助手(汉字、十六进制)
易语言 串口 调试 16进制 HEX 汉字 易语言版本串口调试助手(汉字、十六进制)
Python的学习之旅:1.串口16进制发送数据与接收数据
Pyhton是一个很棒的语言,感觉用起来就像是Arduino一样很多东西都被封装好了我只用使用面向对象的思维去调用函数就可以了,但是Python不善于去编写一些过于低层的驱动什么的因为Python在一定程度上效率很低,所以为了更好的利用Python我们通常将Python和Arduino或者STM32一起使用,上端交给Python下端交个单片机。 二者的连接使用串口,一般情况下为了提高数据传输过程...
MFC单文档之串口通讯实现16进制数据的发送和接收
要实现的功能是打开串口后进行收发数据了,而且有多个编辑框,编辑框中数据是整形,中间涉及到进制转换。
QT中串口显示1进制6数据,发送16进制数据
说明:1.0仅仅是作为串口后台开发。 2.0适用版本 QT5.9,ubuntu Begin: 在构造函数中添加代码 //查找可用的串口 foreach(const QSerialPortInfo &amp;amp;info, QSerialPortInfo::availablePorts()) { QSerialPort serial; serial.set...
QT串口程序已16进制接受和发送数据
QT串口程序已16进制接受和发送数据
MATLAB GUI串口程序 实现16进制收发
MATLAB实现GUI实现串口通讯 十六进制通讯
C# serialport 串口发送与接收数据操作类
对C#的serialport类功能进行了总结,给出了发送,接收数据的完整操作类代码,可直接运用该类进行c#的串口数据操作
Unity串口通信 16进制 SerialPorts 设置COM口
简介: 串口通信,实时传输,设置COM口,打包程序可设置COM口 1. 新建Unity工程,在场景中建立两个GameObject,分别命名:SerialPorts;DataCtl(直接拖拽或查找DataCtl,代码中可自行修改) 2.新建两个C#脚本,分别命名:SerialPortScript;DataCtlScript,并分别挂载到上述两个游戏物体 3.在Assets文件夹中新建文件夹命名...
Python3 串口接收与发送16进制数据包,及字符串
Python3 串口接收与发送16进制数据包,及字符串 将最简化的程序做到功能完善。 注意:  #sleep() 与 inWaiting() 最好配对使用,不然 返回的num可能等于0 time.sleep(1)     num=t.inWaiting() #如果不使用 此行函数返回读取的字节数,则只返回一个字符 import binascii import serial impo...
stm32串口发送16进制字符和16进制数的区别和具体实现方法
在调试一个stm32串口通信时,下位机设置好的发送方式采用串口助手接收后已经可以正常离线解包。但是由于需要实时解包并存储,因此写了一个实时解包存储的上位机,通信正常后接收的数据一直有误。经过单步调试,发现单片机发送的数据帧是字符串,并不是16进制数,而在线解包程序直接是对16进制数进行处理的,这就导致的比如16进制的数0xAA(170),下位机发送的是“AA"(字符串),上位机处理的16进制数是41 41(10进制为65*100+65)...
C# TCP 客户端,收发16进制案例源码
很实用,对于单片机类产品收发很直接,C#TCP客户端,只发16进制,网上流传的TPC,收16进制的时候都会有一堆0,这个代码是没有用,因目前用不到报务端就没写,以后用到再上传
VB.NET SerialPort 十六进制通信实例(VS2008)
此实例为VS2008环境下 VB.NET 编写的 SerialPort通信为16进制,可以改为字符串 内含不同种类的2种时间延时方法及如何取得串口号等。
STM32F103ZET6 按键串口 发16进制[字符串 或者数据]
使用STM32F103ZET6芯片,编译器:KEIL5 ARM,代码文件是C语言,通过串口1,发送16进制的数据,或者字符。
linux下串口收发16进制数据需要设置的参数
    这几天在arm开发板上调试串口通信,操作系统是linux(ubuntu),写了一个串口通信的程序收发字符串是正常的,但是在收发16进制数据时会发现有些数据收不到,有些数据收到的不对。     调试的环境是自己写的程序在arm+linux平台运行,pc上用串口调试助手。一个现象是调试助手发送的0x01,0x02,0x03,0x04在arm端打印不出来(收不到),这是因为这几个数据的asci...
UART发送16进制
1. 程序下载好后要先断开仿真器,连上usb转串口,才能进行串口通信。 2. 本实验设计为: 单片机不断发送数据,上位机接收数据   CLK_PeripheralClockConfig(CLK_Peripheral_USART1, ENABLE);//使能串口时钟   USART_Init(USART1, 9600, USART_WordLength_8b, USART_StopBits_1
MFC串口通信发送16进制数据
MFC串口通信会使用m_mscomm控件。发送数据一般是在edit control 里输入自己想发送的内容,然后点击send button。如果直接发送字符串内容,通过下面代码(send button内写入)即可: UpdateData(true); //读取编辑框内容 m_mscomm.put_Output(COleVariant(m_EditSend)); m_E...
STM32串口发送十六进制的数组
通过串口发送十六进制的数组的方法有很多种,这里我介绍一种最简单也最使用的一种方法。 我这里使用的板子是STM32F103RCT6,使用串口2,usart2.c的代码如下: #include &quot;delay.h&quot; #include &quot;usart2.h&quot; #include &quot;stdarg.h&quot; #include &quot;stdio.h&quot; #include &quot;string.h&quot; #in...
pb + mscomm.ocx 进行串口通讯,支持16进制发送,解决0x00问题
pb使用MSCOMM32.ocx控件进行串口通讯,支持16进制字符串发送,解决PB无法识别0x00的问题,发送数据已测试,接收数据功能未经测试
ubuntu下使用cutecom收发16进制数据
ubuntu下有许多串口软件,如minicom,cutecom等,minicom为终端式非图形化界面,不容易收发16进制数据,因此使用cutecom进行图形化串口调试; cutecom下载安装很方便 使用sudo apt-get install cutecom即可安装成功。 在终端中运行sudo cutecom,即可打开cutecom,由于串口常常需要超级用户权限,所以此处使用sudo打开。 ...
MATLAB向设备串口发送16进制数据的问题
num = ['7d';'8a';'d7']; num = hex2dec(num ); fprintf(sr3,num ); 原理就是把16进制转化为10进制,再以十进制发送,串口以十六进制接收的时候就是接受的原始数据,好简单,卡了一个小时。。。。渣渣的我 ...
Lua正则表达式小记
今天写脚本的时候忽然发现Lua的正则表达式与传统的表达式差别还挺大,特此小记,方便以后查找 = =%为转义字符,控制字符*+-.等字符通过%来转义,另外还有如下作用: %a 字母 %c 控制字符 %d 数字 %l 小写字母 %p 标点字符 %s 空白符 %u 大写字母 %w
python查找串口并发送16进制数据
查找系统里存在着的串口资源并发送和接收16进制数字
在ROS中与其他器件使用十六进制串口通信
在ROS中与其他器件使用十六进制串口通信,我的编译环境是ros indigo ubuntu14.04
STC单片机串口1和2通用通讯程序,可字符串可十六进制
51单片机,串口1和串口2,通讯程序,目前仅是60s2,通过修改配置文件可以达到所有串口通用,传输字节可根据单片机大小进行调节,可传输字符串也可以传输十六进制
串口数据读取,ascii和16进制2种方式
用vc控件,读取串口数据,ascii和16进制2种方式
树莓派ASCII指令串口通信(十六进制发送)
对于指令文本 ENQ STX 08 PS 0500 F0 ETX的ASCII发送 首先按照我上一篇博客打开串口 &amp;gt;&amp;gt;ser.write(&quot;\x05\x02\x30\x38\x50\x53\x20\x20\x30\x35\x30\x30\x46\x30\x03\x04&quot;)(中间两方20是指令手册要求空字符补齐,没什么特别含义) —————————————————————————...
bluetooth android 十六进制数据发送
修改网上的代码,使之方便根据蓝牙名称或者地址来连接和发送,扫描部分有待修改。
串口调试助手(支持字符和16进制数据)
串口调试,更方便发送字符或16进制数据,可以自动定时发送接收数据。可以选择多个串口.
VC++ 向指定串口发送和接收数据(可十六进制)
VC++ 向指定串口发送和接收数据(可十六进制) VC++ 向指定串口发送和接收数据(可十六进制)
串口字符转十六进制
int strHex2int(char *inBuf,unsigned char *sendBuf,int len) {     int index=0;     int resdex=0;     memset(sendBuf,0,sizeof(unsigned char)*15);          if(inBuf==NULL||sendBuf==NULL)         return ...