串口通讯--怎么避免轮询冲突
我这里有一个上位机,发出查询命令给数个从机,从机应答。现在问题是不同类型从机采集数据的时间是不一样的。例如A型从机采集数据需要1s,B型从机采集数据需要10s。设计要求A型和B型从机的采集间隔时间也是不一样的,而且只有一个串口。问题来了,如有3个A从机,要求每隔5s采集一次数据,3个B从机,要求每隔60s采集一次数据。用定时器轮询3个B从机完成查询就需要30s,这30s端口都被占用了,没法给A从机发命令了。即使我用查询帧让3个B从机同时启动采集数据,然后按时间延迟顺序上报数据,但是至少还有10s端口被占,请问有解决办法吗?还是我必须要用2个串口?谢谢