開發一套設備驅動同時具備串口和網絡通訊能力,通訊接口在邏輯上是統一的,在此基礎上串口和網絡也有自己的IO通訊特點,根據不同的通訊方式,可以把IIOChannel實例轉換成ISessionSocket或ISessionCom實例。如下圖:
一個請求命令分兩次發送,每次發送數據時的串口校驗位不同。先發送地址信息,這時串口的配置為Baud,m,8,1;再發送請求命令信息,這時的串口配置為Baud,s,8,1。這樣完成一次請求數據的命令。如下圖:
設備驅動繼承SuperIO.Device.RunDevice1抽象類,裡邊有一個虛函數Send(IIOChannel io, byte[] sendbytes),io參數為通訊操作實例,sendbytes參數為要發送的數據信息,可以重寫這個接口函數,完成特殊的發送數據要求。如下圖:
接收完數據,需要把串口設置修改成默認的配置,避免影響其他設備驅動的通訊,如下圖:
作者QQ:504547114
交流QQ群:54256083