C#SerialPort类开发问题,求大神帮忙解决

用SerialPort类开发,通过多个COM口实时去获取多个温湿度硬件设备的温湿度数据,各大神有什么好的实现方法,求帮忙。。。

获取硬件的温度可以有很多方式。。。找一个MCU获取所以硬件温度,C#通过COM读取MCU数据即可。。。

将温湿度的数据定义在不同数组缓冲中,定义好通信协议,上位机根据协议进行不同的数据保存,再显示。

我的问题是获取多台温湿度计的温湿度数据,通过向温湿度发送指令,温湿度计会回传数据,我可以实现获取一台温湿度的数据,但多台时数据会不准确,我做多台的实现方式为创建多个串口对象,都指向一个监听事件,当有数据回传时再去判定是哪一个的,但会存在同时有多个回传数据,这样就会导致数据不准确。有什么好的解决方法吗?