Tony.SerialPorts.RS232串口模块(三)

本文介绍Tony.SerialPorts.RS232库的使用方法,包括配置串口参数、生成串口、串口的开闭操作、状态查询、数据收发等关键步骤。同时提供了实用资源如串口可用性测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tony.SerialPorts.RS232使用流程:

入口端为:Tony.SerialPorts.RS232Enroll。
.引用Tony.SerialPorts.RS232.dll(将Tony.SerialPorts.RS232.dll、HDInfo.txt复制到运行目录下)。
⑵.调用入口程序:Tony.SerialPorts.RS232Enroll.GetRS232Enroll();【静态方法】。
⑶.检查Tony.SerialPorts.RS232Enroll.RunRS232Enroll是否为null,不为空可继续使用。【静态,数据类型为:Tony.SerialPorts.RS232Enroll】。
⑷.设置串口参数配置模块 RS232Setting:【按下面流程进行后,可设置串口参数,并保存为文件。】
①.如不存在串口参数配置模块 RS232Setting的配置文件:
Tony.SerialPorts.RS232.RS232Setting xSettings =new Tony.SerialPorts.RS232.RS232Setting();
xSettings = Tony.SerialPorts.RS232Enroll.RunRS232Enroll.RS232Worker.RunRS232Setting( gSettings,  gFileSaveName,  gUserName,  gRead,  ScanEvent);(内含窗体,以进行设置)
【参数说明】:
Tony.SerialPorts.RS232.RS232Setting gSettings:实例化的RS232.RS232Setting(本例中的xSettings)。
string gFileSaveName:设置好后的配置文件保存路径(含名称)。
string gUserName:实例化名称:随便起名,与其他串口区分开即可。
bool gRead:是否只读(只读:除可修改串口号,或者进行扫描串口,其他手动更改都禁止;非只读:获得全部功能。);
Tony.SerialPorts.RS232.RS232ScanHandler ScanEvent:传入串口扫描事件,扫描串口时使用,做到程序自动扫描符合条件的串口(当设备连好后,自动定位)。【具体方法另行提供】
②.如存在串口参数配置模块 RS232Setting的配置文件:
Tony.SerialPorts.RS232.RS232Setting xSettings =Tony.SerialPorts.RS232.RS232Setting.GetSetting(gPath);
【参数说明】:
string gPath:配置文件路径(含名称)。
xSettings = Tony.SerialPorts.RS232Enroll.RunRS232Enroll.RS232Worker.RunRS232Setting( gSettings,  gFileSaveName,  gUserName,  gRead,  ScanEvent);(内含窗体,以进行设置)
【参数说明】:
Tony.SerialPorts.RS232.RS232Setting gSettings:实例化的RS232.RS232Setting(本例中的xSettings)。
string gFileSaveName:设置好后的配置文件保存路径(含名称)。
string gUserName:实例化名称:随便起名,与其他串口区分开即可。
bool gRead:是否只读(只读:除可修改串口号,或者进行扫描串口,其他手动更改都禁止;非只读:获得全部功能。);
Tony.SerialPorts.RS232.RS232ScanHandler ScanEvent:传入串口扫描事件,扫描串口时使用,做到程序自动扫描符合条件的串口(当设备连好后,自动定位)。【具体方法另行提供】


⑸.生成串口:【推荐使用方法②】
方法①:Tony.SerialPorts.RS232.IRS232 IRS232Comm1=Tony.SerialPorts.RS232Enroll.RunRS232Enroll.RS232Worker.GetRS232Working(gUserName);
【参数说明】
string gUserName:实例化名称:随便起名,与其他串口区分开即可。
方法②:Tony.SerialPorts.RS232.IRS232 IRS232Comm2=Tony.SerialPorts.RS232Enroll.RunRS232Enroll.RS232Worker.GetRS232Working(gUserName,gSettingFilePath);
【参数说明】
string gUserName:实例化名称:随便起名,与其他串口区分开即可。
string gSettingFilePath:串口参数配置模块 RS232Setting的配置文件路径(含名称)。

⑹.打开/关闭串口:IRS232Comm1.Open()方法、IRS232Comm1.Close()方法
⑺.串口状态:读IRS232Comm1.Online属性
⑻.发送及接收数据:【参见: IRS232方法、IRS232属性、IRS232事件】
发送:IRS232Comm1.Transact(……)方法、IRS232Comm1.OutPut属性。
接收:IRS232Comm1.InPut属性、IRS232Comm1.InPutReadOnly属性、IRS232Comm1.Transact(……)方法、OnRs232Receive事件。
⑼.串口事件:OnRs232Receive、RS232Open、RS232Close【参见: IRS232事件】
⑽.有用资源:
①静态函数:Tony.SerialPorts.RS232.General.GetByteArray(char[] gValue) //char数组转byte数组
②静态函数:Tony.SerialPorts.RS232.General.IsPortAvailable(string s)//测试指定串口的可用性
③函数:IRS232Comm1.GetQueueStatus() //查询串口状态
其他:
【参见: 串口参数配置模块Tony.SerialPorts.RS232.RS232Setting】
【参见: Tony.SerialPorts.RS232.IRS232参考】
【注】
Tony.SerialPorts.RS232运行中,发送及接收数据并不会中断客户主线程运行。
IRS232Comm1.Open()方法、IRS232Comm1.Close()方法可能会稍微迟滞,主要依赖于客户现场情况。
IRS232Comm1.Transact(……)方法运行时间依赖于客户设置的方法参数及客户现场情况。
如客户现场比较复杂,通讯迟滞较大,推荐客户使用多线程编程。(Tony.SerialPorts.RS232可以运行于多线程环境中。)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值