资源简介
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画图软件
相关资源
- winform画图软件
- C# winform实现一个服务端和多个客户端
- 附和水准平差计算
- windows form窗体控件生成的 记事本C#编
- MVVM,WPF
- c#实现Rs232串口通讯
- C# web socket 客户端实现源码
- C#获取网络时间
- 阿里云发送短信封装(C#
- c#/.net点餐系统源码
- 简易成绩管理系统C#实验报告+项目源
- C# 微信公众平台开发.NET源码
- C#TCP/IP通信接收数据
- C#USB通信,可以直接用的
- C# winfrom中webservice接口连接服务器上传
- C#手写识别源码
- C# WinForm DirectShow视频采集及图片抓取
- C#winform textbox 画边框和圆角
- C#控制系统声音大小
- 基于Mysql数据库的C#实现登录注册功能
- activemq 接收文件流 C#
- ACTIVEMQ C#下的
- 学生管理系统c#
- 微信 网页授权获取用户基本信息(
- C#基于VS2010写的简单串口上位机
- C#桌面倒计时软件源码
- C#MJPG协议视频传输上位机Demo
- C#示波器完整
- c#通过opc读写plc的程序代码
- C#编写的CRC校验软件
评论
共有 条评论