# SerialPortHelper
SerialPortHelper是一款基于C#的串口助手类库。
项目处于开发测试阶段,未经充分测试与验证,不推荐用于生产环境。
> 目前操作逻辑可能随时变动,不保证接口与功能向后兼容。
欢迎加入测试并向我们提交BUG或建议,请下载最新[Releases](https://github.com/xiaoxinpro/SerialPortHelper/releases)版本参与测试!
## 开发状态
串口助手类库项目,目前基于 .NET Framework 3.5 编译,若需要 .NET Framework 4+ 可以直接自行修改框架编译。
> 使用文档:https://github.com/xiaoxinpro/SerialPortHelper/wiki
注意:目前处于开发阶段无法用于生产,有想法或建议请[Issues](https://github.com/xiaoxinpro/SerialPortHelper/issues)。
## 使用实例
* [SerialPortHelperTest](https://github.com/xiaoxinpro/SerialPortHelper/tree/master/SerialPortHelperTest) 串口助手类库测试项目,主要用于演示SerialPortHelper类库的各项功能与测试任务。
* [SerialPostTool](https://github.com/xiaoxinpro/SerialPortHelper/tree/master/SerialPostTool) 串口调试工具,基于SerialPortHelper类库开发的高级串口调试工具,下载后可直接使用。
## 快速上手
这里只列举部分功能,详细操作文档请参考[使用文档](https://github.com/xiaoxinpro/SerialPortHelper/wiki)
### 前期准备
使用前需要引用 ```SerialPortHelperLib```,可以直接将源码直接添加到解决方案中,也可以引用```SerialPortHelperLib.dll```文件;接下来在代码文件顶部添加 :
using SerialPortHelperLib;
即可开始使用串口助手类库。
### 初始化串口助手类
首先需要定义一个全局类
//定义SerialPortHelper类
private SerialPortHelper spb;
然后添加一个 ```ComboBox``` 控件,命名 ```cbPortName``` 。
最后在窗体加载中加入初始化代码:
//实例化串口助手
spb = new SerialPortHelper();
//设置串口号ComboBox,并写入默认配置
spb.ConfigSerialPort = new ConfigCom(cbPortName).GetConfigComData();
若要自定义串口配置可以定义ConfigCom类:
//定义ConfigCom类
private ConfigCom cc;
//修改配置
cc = new ConfigCom(cbSerial);
cc.BaudRate = 14400;
cc.DataBits = 7;
cc.StopBits = StopBits.OnePointFive;
cc.Parity = Parity.Even;
//写入串口配置
spb.ConfigSerialPort = cc.GetConfigComData();
### 开启串口
使用 ```OpenCom``` 开启串口,需要传入一个```out```字符串,用于返回错误信息。
spb.OpenCom(out string strError);
if(strError != "null")
{
//串口开启失败
MessageBox.Show(strError);
}
### 关闭串口
与开启串口类似,使用 ```CloseCom``` 方法关闭串口。
spb.CloseCom(out string strError);
if (strError != "null")
{
//关闭串口失败
MessageBox.Show(strError);
}
### 发送数据
发送Byte数组到串口:
spb.Write(Byte数组);
发送十六进制到串口:
spb.Write(SerialData.ToHexByteArray(十六进制字符串));
发送字符串到串口:
spb.Write(SerialData.ToByteArray(字符串));
### 接收数据
若要接收数据,需要在串口初始化时增加接收事件绑定:
//串口助手类初始化
//绑定接收数据函数SerialPortDataReceivedProcess
spb.BindSerialPortDataReceivedProcessEvent(new SerialPortHelper.DelegateSerialPortDataReceivedProcessEvent(SerialPortDataReceivedProcess));
绑定的方法 ```SerialPortDataReceivedProcess``` 示例如下:
/// <summary>
/// 串口接收数据处理
/// </summary>
/// <param name="sender">串口助手类对象</param>
/// <param name="arrData">接收数据数组</param>
private void SerialPortDataReceivedProcess(object sender, byte[] arrData)
{
this.Invoke(new Action(() =>
{
//串口数据处理
}));
}
> 关于接收数据转换可参考Wiki中的 [SerialData](https://github.com/xiaoxinpro/SerialPortHelper/wiki/SerialData) 部分。
## 开发计划
计划在后续版本中加入的功能与优化,如果有其他功能建议欢迎在 [issues](https://github.com/xiaoxinpro/SerialPortHelper/issues) 中反馈。
* 简化检测串口流程,删除多余的重复功能。
* 增加接收数据同步获取,与现有的异步获取可同时使用。
* 进一步完善[Wiki](https://github.com/xiaoxinpro/SerialPortHelper/wiki)文档。
没有合适的资源?快使用搜索试试~ 我知道了~
基于C#的串口助手类库.zip
共45个文件
cs:25个
resx:5个
csproj:3个
需积分: 5 0 下载量 115 浏览量
2024-03-15
18:11:36
上传
评论
收藏 375KB ZIP 举报
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
资源推荐
资源详情
资源评论
收起资源包目录
基于C#的串口助手类库.zip (45个子文件)
SerialPortHelper-master
SerialPostTool
frmConfig.Designer.cs 66KB
frmConfig.resx 26KB
SerialPostTool.min.ico 14KB
app.config 131B
frmMain.cs 28KB
SerialInfoConfig.cs 2KB
frmMain.Designer.cs 60KB
frmConfig.cs 26KB
bin
Debug
SerialPortHelperLib.dll 27KB
SerialPostTool.exe 206KB
Newtonsoft.Json.dll 476KB
Properties
Resources.Designer.cs 3KB
Settings.Designer.cs 1KB
Settings.settings 242B
AssemblyInfo.cs 1KB
Resources.resx 5KB
SerialPostTool.ico 110KB
Program.cs 2KB
frmMain.resx 27KB
RichTextBoxExtension.cs 2KB
SerialMainConfig.cs 1KB
Json.cs 2KB
SerialPostTool.csproj 5KB
SerialWriteConfig.cs 933B
SerialPortHelper.sln 2KB
SerialPortHelperLib
ConfigCom.cs 14KB
DetectCom.cs 14KB
SerialPortHelper.cs 15KB
HardwareInfo.cs 4KB
SerialData.cs 6KB
bin
Debug
SerialPortHelperLib.dll 27KB
Properties
AssemblyInfo.cs 1KB
SerialPortHelperLib.csproj 2KB
SerialPortHelperTest
frmMain.cs 13KB
frmMain.Designer.cs 25KB
Properties
Resources.Designer.cs 3KB
Settings.Designer.cs 1KB
Settings.settings 242B
AssemblyInfo.cs 1KB
Resources.resx 5KB
Program.cs 2KB
frmMain.resx 6KB
SerialPortHelperTest.csproj 3KB
.gitignore 5KB
README.md 4KB
共 45 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 筷手引流工具.apk
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功