【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式

SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf

1.1    统一的IO接口

开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础上串口和网络也有自己的IO通讯特点,根据不同的通讯方式,可以把IIOChannel实例转换成ISessionSocket或ISessionCom实例。如下图:

 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式

 

1.2     通讯要求

一个请求命令分两次发送,每次发送数据时的串口校验位不同。先发送地址信息,这时串口的配置为Baud,m,8,1;再发送请求命令信息,这时的串口配置为Baud,s,8,1。这样完成一次请求数据的命令。如下图:

 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式

 

1.3    重写通讯接口

设备驱动继承SuperIO.Device.RunDevice1抽象类,里边有一个虚函数Send(IIOChannel io, byte[] sendbytes),io参数为通讯操作实例,sendbytes参数为要发送的数据信息,可以重写这个接口函数,完成特殊的发送数据要求。如下图:

 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式

 

接收完数据,需要把串口设置修改成默认的配置,避免影响其他设备驱动的通讯,如下图:

 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式

 

作者QQ:504547114

交流QQ群:54256083

官方网址:http://www.bmpj.net

上一篇:从头开始写项目Makefile(十):make内嵌函数及make命令显示【转】


下一篇:Android应用安全开发之浅谈密钥硬编码