设备有三个串口,共同使用一个dll作为驱动,通过在注册表里面设置order来设置驱动的启动顺序。
三个串口分别为ser1、ser2、ser3,现在遇到一个奇怪的地方,就是如果把ser1与ser2注册表中的order设置相同(如同时为3),把ser3设置为4,烧录NK后启动的时候查看打印信息会发现ser1与ser2已经加载了,但ser3根本没有被加载,需要在设备里面用注册表工具将ser3的order由4改成3,再改成4,启动后才会加载该驱动了,串口助手也可以看到对应的串口号。试了很多次都是这样,导致每次烧写程序后都要折腾一次。有没有同仁碰到过这样的情况?
因为调试发现一些问题,需要依次启动ser1、ser2与ser3,本来希望通过设置order的顺序来实现,但是如果每次都要这样烧好后修改,也不现实,但是如果将三个ser的order都设置成3,则有时候会先加载ser3再加载1和2,请问除了控制order还有什么办法可以控制驱动的启动顺序吗?
谢谢!
------解决方案--------------------
如果注册表实在不行,可以考虑第三个串口驱动动态加载,不让系统加载