这几天在测试机器的时候遇到麻烦的问题:
连接的三个sensor分别有不同的协定,
分别开serial port来IO传输。
现在问题是,
每次开机时候port都会跑掉(ex com4 com5会交换)。
偏偏我三个port要丢跟收的东西都不一样,
他们的特性分别是: 一个会不断丢出data给我,
其他两个都是poll slave的作法,
但是其中一个是又连接了一个转接板接"不少个"sensor,
另外一个则比较单纯接三个。
我现在做法是都先开起来,
看谁会丢data就是那个比较特别的port1,
接下来再丢command找那个比较单纯的poll slave,
剩下的那个就当他是最麻烦的port3......
转眼间if else已经刻有点多行,
而且sensor有时候也有点不太稳定,
各种time out 也让程式一启动之后要等有点久,
有时几个lost往往就导致定位不到正确的port ID。
想请问大家都是用什么方法或逻辑解决类似的问题?
我有点想直接从硬件再加几个单芯片去另外控制,
或者从系统部分去指定?