Tony.SerialPorts.RS232串口模块(三)
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可以运行于多线程环境中。)
Tony.SerialPorts.RS232串口模块(三)相关推荐
- Tony.SerialPorts.RS232串口模块(二)
Tony.SerialPorts.RS232.IRS232参考 - ⑴.属性: - 1. Settings [串口参数配置][读及设置] - RS232Setting类型. - 打开串口前配置,打开串 ...
- MJKDZ PS2手柄控制OskarBot小车(三):STM32接收无线串口模块的数据并处理
MJKDZ PS2手柄控制OskarBot小车(三):无线串口模块接收数据并处理 [目录] 1.硬件与软件设计思路 - 1.1 硬件资源 - 1.2 STM32串口接收数据的方法 2.源代码详解 - ...
- 程控电源CANoe上位机面板(CAN\ETH测试、RS232串口通信、编写设计思路)
程控电源CANoe上位机面板 编写此面板的目的 编写思路 一.通讯方式 1.RS232串口连接 2.CANoe与RS232串口相关的函数 3.帧格式命令字 4.校验码 二.面板设计 1.所需文件说明 ...
- 单片机实验八 RS232串口通信实验(接收与发送)
实验八 RS232串口通信实验(接收与发送) 一.实验目的 1.熟悉实验软件和硬件,进行正确的接线: 2.通过实验了解串口的基本原理及使用,理解并掌握对串口进行初始化: 3.使用串口调试助手做为上位机 ...
- 读取万用表USB串口模块
简 介: 由于计算机链接的打印机无法继续工作,现在需要另外重新安装操作系统才能够继续完成设计和制作. 关键词: 串口转接,自制电路板 #mermaid-svg-pK6HRjCv9ZC0FD1Z {fo ...
- MTK6572 android4.4上串口模块的调试
年前调试了一下用mtk的uart1口来外接外部模块,拓展为2个com口.写此文的目前主要是整理一下思路. 拓展ic的型号是WK2114: WK2114 原理框图 由上图可以看到首先得把主接口测试ok. ...
- SPI、I2C、UART(即串口)三种串行总线详解
以下内容均来源于网络资源的学习与整理,如有侵权请告知删除. 参考博客 几个串口协议学习整理 UART IIC SPI_mainn的博客-CSDN博客 SPI.I2C.UART三种串行总线的原理.区别及 ...
- RS232串口通信(UART的接收部分)
RS232串口通信(UART的接收部分) 置顶 新人博主,创作不易,波形图手绘,请给个点赞关注吧,非常感谢! 串口简介 串口作为常用的三大低速总线(UART.SPI.IIC)之一,在设计众多通信接 ...
- rs232串口驱动_LED驱动电路设计
这里设计了两种方案,方案一目标需要低功耗的led,方案二目标需要高功耗的LED.这里重点说下第一种方案,方案电路图如图所示.LED直接通过一个上拉排阻将8个LED连接在单片机上,这样的优点是电路结构简 ...
- 小型的ESP8266-01s WiFi串口模块是否可以下载MicroPython?
▌01 ESP8266模块下载MicroPython 手边有这类小型的ESP8266WiFi串口模块: ESP-01S 无线透传工业级 ESP8266串口转WiFi模块 .现在有一个问题:它是否可以使 ...
最新文章
- 厉害了,网易伏羲三篇论文上榜 AI 顶会 ACL
- Android 计步功能-简单实现
- 博为峰JavaEE技术文章 ——MyBatis 简介(2)
- LeetCode 二叉树、N叉树的最大深度与最小深度(递归解)
- ECCV2018——点云处理相关文章
- 使用@property
- MySQL索引背后的数据结构及算法原理(employees实例)
- 「小程序JAVA实战」微信小程序工程结构了解(五)
- Node.js:常用工具、路由
- 使用ThinkPHP框架高速开发站点(多图)
- perl表达 匿名数组和匿名哈希
- python函数的规则_Python函数的作用域规则和闭包
- oracle添加两个约束,Oracle添加表约束的2种方法
- 蓝桥杯官网 试题 PREV-113 历届真题 估计人数【第十届】【决赛】【研究生组】【C++】【Java】【Python】三种解法
- 你用过会议管理系统吗?你知道它能解决什么问题吗
- Filtered off site request to
- 计算机管理员注销,肿么注销计算机管理员
- 写一个块linux设备驱动
- USB audio调试
- 绿色版浏览器DIY,大家别乱用网上的非官方绿色版,自己动手吧,很简单!(2015-11-26更新)