串口过滤驱动的几种应用场景设想

内核态监控串口过滤驱动,实际中可以使用的几种应用场景设想:

1、如之前写的一篇监控串口数据的文章,可以用于方便调试,显示写到串口的数据和收到串口的数据,程序员可以使用这个程序方便调试。

2、可以虚拟串口,比如在开发过程中,程序员开发机器打开某个串口,但是电脑上不存在这个串口,也没有连接下位机串口设备,串口设备在测试机器上,那么可以实现这样一个功能:在开发机器上虚拟一个串口,这个串口设备类型不是串口,而是UNKNOWN类型(这样读取串口数据时会直接触发IRP_MJ_READ),然后当有程序写串口时,通过用户态交互,将数据发送到用户态,再发送到远端测试机上(远端测试机也许一个用户态程序,接收网络数据,写到串口,收串口数据发送到开发机上),开发机接收远端机上反馈的串口数据,再传送到内核态,应用程序读串口时就使用收到的网络包。这也是为了方便调试。(也可以虚拟一对串口,互相可以发送到对方串口上)

3、在上层应用软件与下位机串口设备交互时,通过某些字段识别,比如发送某些数据时,就返回特定数据,不发送某些数据到下位机设备,或者丢弃、改写下位机反馈的数据。这个为了可以更加灵活,可以使用一些脚本语言来实现,如Lua脚本,识别发送数据,如为匹配数据,就反馈预先设定的数据。

 

posted @ 2022-11-13 00:35  psj00  阅读(74)  评论(0编辑  收藏  举报