C#串口通讯实例

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;//新调用的类所在的命名空间

namespace chuankou
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//发送按钮的响应时间
private void button1_Click_1(object sender, EventArgs e)
{
//对于中文的话,要先对其进行编码,将其转换成 _Base64String ,否则你得不到中文字符串的
byte[] data = Encoding.Unicode.GetBytes(richTextBox1.Text);
string str = Convert.ToBase64String(data);
sPort.WriteLine(str);
MessageBox.Show("数据发送成功", "系统提示");
richTextBox2.Text = Encoding.Unicode.GetString(data)+"\r\n";
button1.Enabled = false;
button2.Enabled = true;
}
private void button2_Click_1(object sender, EventArgs e)
{
//解码然后将字符串赋值给 文本框的 文本区
//byte[] data = Convert.FromBase64String(sPort.ReadLine());
//richTextBox2.Text = Encoding.Unicode.GetString(data);
//对于中文的话,要先对其进行编码,将其转换成 _Base64String ,否则你得不到中文字符串的
byte[] data = Encoding.Unicode.GetBytes(richTextBox2.Text);
string str = Convert.ToBase64String(data);
sPort.WriteLine(str);
MessageBox.Show("数据发送成功", "系统提示");
richTextBox1.Text = Encoding.Unicode.GetString(data)+"\r\n";
button1.Enabled = true;
button2.Enabled = false;
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void Form1_Load_1(object sender, EventArgs e)
{
sPort.PortName = "COM1";//串口的portname
sPort.BaudRate = 9600;//串口的波特率
sPort.Open();
}
private void Form1_FormClosing_1(object sender, FormClosingEventArgs e)
{
//关闭串口
sPort.Close();
}
}
}

时间: 2024-11-07 06:58:01

C#串口通讯实例的相关文章

C#串口通讯

本文提供一个用C#实现串口通讯实例,亲自编写,亲测可用! 开发环境:VS2008+.net FrameWork3.5(实际上2.0应该也可以) 第一步 创建一个WinForm窗体,拉入一些界面元素 重点就是,图中用红框标出的,工具箱——组件——SerialPort,做.net串口通讯,这是必备控件 第二步 设置SerialPort控件属性 用C#向串口发送数据没什么特别的,就是调用SerialPort的Write方法往串口写数据就行 但是从串口那里接收数据的方式就比较特别了 首先,需要在代码里声

win7系统下用vspd软件进行串口编程实例

http://blog.csdn.net/qiusuo800/article/details/8299777 目前,我在学习C#串口编程类的基础知识,在网上也找了一些资料,但都存在一些问题,现在他们基础上再进行一定的修改,且更详细的表达如何实现串口编程,实现串口的发送与接收.本文通过一个完整的实例,目的在于说明在win7系统中进行串口编程时: 1.  用C# 编程串口的属性定义.成员变量以及方法等问题: 2.  掌握串口的发送与接收,利用虚拟串口来进行通讯,体验串口通讯: 至于具体的串口通信原理

[delphi技术]Delphi MSComm 实时串口通讯

Delphi  MSComm 实时串口通讯 MSComm控件具有丰富的与串口通信密切相关的属性,提供了对串口进行的多种操作,进而使串行通信变得十分简便.MSComm的控件属性较多,常用的属性如下:1).CommPort:设置或返回串行端口号,缺省为1.2).Setting:设置或返回串口通信参数,格式为“波特率,奇偶校验位,数据位,停止位”.例如:MSComm1.Setting:=9600,n,8,13).PortOpen:打开或关闭串行端口,格式为:MSComm1.PortOpen:={Tru

多机串口通讯

★使用器件 使用了3块80c51的单片机,其中U1为主机控制其他两个从机U2,U3.每个单片机上都有一个数码管用来显示数据.主机上有两个按键KEY_1,KEY_2,分别用来控制不同的从机. ★实现目标 主要实现的目标就是通过写多机通讯来了解他们其中的协议,以及简单协议的写法!本程序主要达到了一下效果,主机可以通过发送命令来控制从机:发送数据给从机.接收从机的数据.然后将从机或者主机显示的数据显示在数码管上. ★协议要求 1.地址:主机的地址设置为0x01,从机1(U3)的地址为0x03,从机2(

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

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

pcommlite串口通讯库使用

MFC下串口编程使用最多的两种方法是读取注册表和使用mscomm组件,都有着或多或少的缺陷,调用系统SDK比较麻烦,而MSCOMm组件最多支持16个串口,串口号大于16的时候无法打开,遇到这种情况,可以使用一个名为pcommlite的串口通讯库,下载安装之后,解压出来的文件包括 根据编译的平台选择相应的lib文件加入工程,并加入pcomm.h文件 寻找系统串口,sio_open()打开串口 sio_close()关闭串口 BYTE i = 0; CString str; // TODO: 在此添

串口通讯方式1编程

在上位机上用串口调试助手发送一个字符X,单片机收到字符后返回给上位机"I get X",串口波特率设为9600bps. #include<reg52.h> #define uchar unsigned char unsigned char flag,a,i; uchar code table[]="I get"; void init() { TMOD=0x20;  //设定T1定时器的工作模式2 TH1=0xfd; //T1定时器装初值 TL1=0xfd

(c#2.0)serialPort串口通讯

原文:(c#2.0)serialPort串口通讯 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Configuration; usi

Python 串口通讯

摘要: pyserial module: https://github.com/tbusf/pyserial Python使用pyserial进行串口通信:http://blog.csdn.net/log1100/article/details/54380325 串口通讯的python模块--pySerial :http://blog.csdn.net/dainiao01/article/details/5885122 Parameters for the Serial class ser =