[问题] serial port开启问题

楼主: howdie5566 (我是脑残 Q_Q)   2016-04-26 23:19:16
这几天在测试机器的时候遇到麻烦的问题:
连接的三个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。
想请问大家都是用什么方法或逻辑解决类似的问题?
我有点想直接从硬件再加几个单芯片去另外控制,
或者从系统部分去指定?
作者: tiefblau (tiefblau)   2016-04-26 23:35:00
直接从usb洞的序号 拿到port名称啊
楼主: howdie5566 (我是脑残 Q_Q)   2016-04-26 23:43:00
感谢楼上 不过我list出来 都是一样的adapter名称
作者: tiefblau (tiefblau)   2016-04-27 00:54:00
你是用啥系统 以pi为例的话 路径名称会是固定 只有最后名称不一样 路径名称就是硬件usb的编号 所以只要是插同个孔 跑的时候再去抓那个路径下的名称就好~"/sys/devices/platform"
楼主: howdie5566 (我是脑残 Q_Q)   2016-04-27 20:36:00
嗯 pi没错 我试试看这个方法 谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com