资源简介
C# 串口通信原理及源码。。内置有转码的功能。可以用于调试串口设备。

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//当前参数设置
string serial = ““;
string baudRate = ““;
string dataBits = ““;
string stop = ““;
string parity = ““;
//当前是否打开串口
bool ifShow = false;
SerialPort sp1 = new SerialPort(); //这个是定义的全局变量
private void Form1_Load(object sender EventArgs e)
{
// messagebox.show(“欢迎使用“);
string[] str = SerialPort.GetPortNames();//检查是否含有串口
if (str == null)
{
MessageBox.Show(“本机没有串口!“ “error“);
return;
}
foreach (string s in System.IO.Ports.SerialPort.GetPortNames()) //添加串口
{
cbSerial.Items.Add(s); //获取有多少个COM口,添加到控件里
}
cbBaudRate.Items.Add(“9600“); //对波特率,数据位,停止伟这几个控件里面的值进行初始化显示 这样就可以避免我们调试时反复的对他们进行输入
cbDataBits.Items.Add(“8“);
cbStop.Items.Add(“1“);
cbParity.Items.Add(“无“);
cbSerial.SelectedIndex = 0; //获取或是指当前选定项的索引//串口设置默认选择项
cbBaudRate.SelectedIndex = 0;
cbDataBits.SelectedIndex = 0;
cbStop.SelectedIndex = 0;
cbParity.SelectedIndex = 0;
Control.CheckForIllegalCrossThreadCalls = false;
sp1.Encoding = System.Text.Encoding.GetEncoding(“UTF-8“);
sp1.DataReceived += new SerialDataReceivedEventHandler(sp1_DataReceived); //订阅委托
}
//保存设置
private void button2_Click(object sender EventArgs e)
{
serial = cbSerial.SelectedItem.ToString();
baudRate = cbBaudRate.SelectedItem.ToString();
dataBits = cbDataBits.SelectedItem.ToString();
stop = cbStop.SelectedItem.ToString();
parity = cbParity.SelectedItem.ToString();
//赋值
lbSerial.Text = “串口号:“+ serial;
lbBaudRate.Text = “波特率:“ + baudRate;
lbDataBits.Text = “数据位:“ + dataBits;
lbStop.Text = “停止位:“ + stop;
lbParity.Text = “校验位:“ + parity;
}
void sp1_DataReceived(object sender SerialDataReceivedEventArgs e)
{
//接收数据
string str = ““;
do
{
int count = sp1.BytesToRead;
if (count <= 0)
break;
byte[] readBuffer = new byte[count];
Application.DoEvents();
sp1.Read(readBuffer 0 count);
str += System.Text.Encoding.GetEncoding(“
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-04-12 10:23 WindowsTest\
目录 0 2018-04-12 10:23 WindowsTest\.vs\
目录 0 2018-04-12 10:23 WindowsTest\.vs\WindowsTest\
目录 0 2018-04-12 10:23 WindowsTest\.vs\WindowsTest\v14\
文件 47104 2018-06-11 15:44 WindowsTest\.vs\WindowsTest\v14\.suo
目录 0 2018-04-20 19:04 WindowsTest\WindowsTest\
文件 1000 2018-04-12 10:23 WindowsTest\WindowsTest.sln
文件 189 2018-04-12 10:23 WindowsTest\WindowsTest\App.config
目录 0 2018-04-12 10:23 WindowsTest\WindowsTest\bin\
目录 0 2018-04-12 10:24 WindowsTest\WindowsTest\bin\Debug\
文件 16896 2018-04-26 10:58 WindowsTest\WindowsTest\bin\Debug\WindowsTest.exe
文件 189 2018-04-12 10:23 WindowsTest\WindowsTest\bin\Debug\WindowsTest.exe.config
文件 24064 2018-04-26 10:58 WindowsTest\WindowsTest\bin\Debug\WindowsTest.pdb
文件 22696 2018-06-23 11:38 WindowsTest\WindowsTest\bin\Debug\WindowsTest.vshost.exe
文件 189 2018-04-12 10:23 WindowsTest\WindowsTest\bin\Debug\WindowsTest.vshost.exe.config
文件 490 2016-07-16 19:44 WindowsTest\WindowsTest\bin\Debug\WindowsTest.vshost.exe.manifest
文件 6110 2018-04-20 19:04 WindowsTest\WindowsTest\Form1.cs
文件 19958 2018-04-12 14:56 WindowsTest\WindowsTest\Form1.Designer.cs
文件 6017 2018-04-12 14:56 WindowsTest\WindowsTest\Form1.resx
目录 0 2018-04-12 10:23 WindowsTest\WindowsTest\obj\
目录 0 2018-04-19 09:47 WindowsTest\WindowsTest\obj\Debug\
文件 1464 2018-04-19 09:47 WindowsTest\WindowsTest\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7144 2018-04-12 10:23 WindowsTest\WindowsTest\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2018-04-12 10:23 WindowsTest\WindowsTest\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2018-04-12 10:23 WindowsTest\WindowsTest\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2018-04-12 10:23 WindowsTest\WindowsTest\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
目录 0 2018-04-12 10:23 WindowsTest\WindowsTest\obj\Debug\TempPE\
文件 681 2018-06-23 11:38 WindowsTest\WindowsTest\obj\Debug\WindowsTest.csproj.FileListAbsolute.txt
文件 1012 2018-04-12 14:57 WindowsTest\WindowsTest\obj\Debug\WindowsTest.csproj.GenerateResource.Cache
文件 2384 2018-04-12 10:24 WindowsTest\WindowsTest\obj\Debug\WindowsTest.csprojResolveAssemblyReference.cache
文件 16896 2018-04-26 10:58 WindowsTest\WindowsTest\obj\Debug\WindowsTest.exe
............此处省略11个文件信息
- 上一篇:如何用VS自带报表制作打印功能
- 下一篇:winform画图软件
相关资源
- C#百度地图源码
- Visual C#.2010从入门到精通配套源程序
- C# 软件版本更新
- C#屏幕软键盘源码,可以自己定制界面
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
- 基于c#的实验室设备管理系统621530
- C# 使用ListView控件实现图片浏览器(源
- C#简单窗体聊天程序
- C#指纹识别系统程序 报告
- c# 高校档案信息管理系统
评论
共有 条评论