Kmdf驱动程序-串行驱动程序的错误检测错误

时间:2019-05-08 22:56:39

标签: serial-port driver interrupt kmdf wdf

几乎没有背景,我根据MS提供的serial.sys驱动程序示例编写了串行驱动程序的修改版本,并声称与Windows附带的驱动程序相同。 结果就是一种分析仪。

所需的修改之一是需要知道端口上每个字节的奇偶校验错误。 因此,我修改了设置PE(奇偶错误)errorWord标志的中断方法,并替换了检查以查看是否已将comport设置为使用自定义char替换error char,并使其始终插入值为0x0A的char,并且添加到数据中断方法中,以便始终在读取char之前插入0x0F。 Com设置为标记奇偶校验。

我有一个设备每200ms发送一次字节,从0x01到0x1F,前8个字节带有标记奇偶校验(奇偶校验错误),后8个字节带有空格(无错误)。

我得到的问题是,并非每个有错误的字节都被视为错误。我经常看到第3或第4个字节,应该以0x0A作为前缀,而0x0F代替。

这里是否有关于不准确性的信息,或者有关中断顺序不正确的信息,或者有关如何以不同方式实现此目的的任何想法?

注意:不能单独使用通用驱动程序并在客户端应用程序上解决它。这需要由驾驶员来完成。

谢谢

0 个答案:

没有答案