串口一拖二——硬件实现、软件使用

串口一拖二——硬件实现、软件使用

竟然用到了串口的一拖二。
公司采购了一个KR3001的恒流直流电源给阀直接供电,使用了控制器从与阀接的压力传感器处读取数据。
原来是分成了两个软件在两台电脑上调试、发布。
时间长了、挺麻烦,就想在一台机器上实现,但是一般来说一台机器只有一个串口,很是不爽。

有人说使用USB转串口的线试试,那按理说程序的串口处理部分也应该重写吧、或者需要自带驱动吧。


考虑到只需要向程控直流恒流电源发送数据、只需要向控制器接收数据,于是就采用串口硬件一拖二的方式。
将一个串口的Tx与另一个串口的Tx相连,将串口的Rx也与另一个串口的Rx相连,就ok了。
完了之后就发现,两个硬件定时器不同步,导致程序也不同步了。
首先是使用手工的方式大约同步,结果发现时间长了就原形毕露、乱惨了。
由于是两个硬件,主动同步肯定不行,只能被动同步了。但是一拖二的方式界定的就是只能单方发送、不能两个
硬件同时发送,否则理论上电平值都乱了(失败了也要试试。呵呵,果真失败!)。
有人说使用不同波特率来分别控制,这样可以同时接受,那我一个程序,怎么同时对一个串口打开两次、还不同
波特率?(自我感觉不行)

有人说买个一分二的串口卡,这样一个串口就有两个串口号,分别读写了。

搜索以后,发现这个一分二只是硬件上一个分两个、并联,与我们当前的环境一样。

下一步考虑买个USB转串口的硬件试试吧。

你可能感兴趣的:(串口编程)