在过去的4天里,我一直在猜测SerialPort控件在C#中的应用,但没有取得令人满意的结果。让我解释一下:
我有一个设备(Arduino UNO ),它与模拟一个比例尺(简单请求/响应模式)的c#程序相结合,该设备发送一个由3个字节组成的命令序列(请求一个权重):CHR(27)+P+CHR(13),因此模拟器用一个模拟的权重进行响应(我已经整理了设备如何捕获和分析这个权重,这样就不再存在问题了)。使用DataReceive事件似乎正在使用Serialport.Read()松散数据,因此到目前为止我浪费了这种方法。模拟器必须始终监听所述seq。必须有一个图形用户界面。我理解,为此,我必须使用线
当使用tcsetattr()调用TCSDRAIN时,如果缓冲区中仍然保留输出数据,则Linux似乎被阻塞,并在中断时间后再次检查缓冲区以更改配置。write data to serial
2. take sleep() manually for 5ms, it means give enough time to clear output to Linux