照你说的,有的设备传输稳定,有的不稳定,那就应该是硬件(包括嵌入式软件)的问题了。
首先,确定你的串口是跑的什么协议,RS232 or RS485,你的串口需要传多远,如果距离超过5米最好用RS485,
RS485跑的是差分信号,抗干扰性好。
接着,不管上面你用那一种,为了确定信号质量好不好,就应该用示波器量一量信号的波形,看看信号的幅值够不够,每bit的时间周期宽度与设定的波特率是否一致,这个你如果不会找硬件工程师来看,提供完整的信号是他们的责任。
如果信号完整性没问题,那就找你软件的问题吧。
or,可先用个简单方法来确定问题所在,PC用成熟的串口调试软件(具体什么软件就不用列举了吧:)),来与你的下位机联机调试试试,可用你们约定好的协议,收发都可以试试,批量的也可以试,调试的方法就看你个人的灵活变通了。比如,你可以让下位机一直发0xFF,如果不稳定,肯定会有位变成0,这样你在接收区中一打眼也就看到了。