C#使用STM VCP ReadTimeOut无法正常工作

时间:2014-10-21 01:42:30

标签: c# .net serial-port stm32

我正在使用STM Virtual Com Port(VCP)使用C#.NET将数据从我的固件发送到我的PC应用程序

我创建了一个使用VCP读取数据的Windows PC应用程序

从我的固件,我每秒发送512个字节,但我的PC应用程序没有每秒接收数据。它需要等待8秒,以便在收到数据回调之前缓冲区已满;

这意味着,它需要等待4096字节,我收到回调...

但我已配置,我的端口每1毫秒超时一次,但它无效......

我的代码如下:

port1 = new SerialPort("COM171", 9600);
port1.WriteBufferSize = 1024;
port1.ReadBufferSize = 1024;
port1.WriteTimeout = 1;
port1.ReadTimeout = 1;    
port1.Handshake = Handshake.RequestToSend;
port1.ReceivedBytesThreshold = 1024;
port1.DtrEnable = true;
port1.RtsEnable = true;
port1.ReceivedBytesThreshold = 1;
port1.Open();

知道怎么解决这个问题吗? 我希望将延迟计时器减少到1ms,或者将接收缓冲区减小到每个数据回调的512字节?

1 个答案:

答案 0 :(得分:1)