c#从串口读取数据怎样读一个就清空缓存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#从串口读取数据怎样读一个就清空缓存相关的知识,希望对你有一定的参考价值。

就是从串口读取一个数据,在读取另一个之前,缓存要清空,

不用清空,当你调用Read方法读取数据之后,缓存就没有了. 参考技术A (1)调用SerialPort.DiscardInBuffer 方法可以清空串行驱动程序的接收缓冲区的数据。
此方法等效于 Visual Basic 6.0 代码:MSComm1.InBufferCount = 0
(2)调用SerialPort.DiscardOutBuffer 方法可以清空串行驱动程序的发送缓冲区的数据。
此方法等效于 Visual Basic 6.0 代码:MSComm1.OutBufferCount = 0
参考技术B 在读取完毕之后将串口关闭!,下次读取的时候,再打开!追问

请问关闭的代码应该放在哪啊

追答

在读取去串口之后 完成了读取的所有步骤啊,

参考技术C 用SerialPort.DiscardInBuffer 方法

Arduino串口读取

参考技术A Serial.available()

描述:判断串口缓冲区的状态,返回从串口缓冲区读取的字节数。
原型:Serial.available()
参数:无。
返回值:可读取的字节数。

Serial.read()

描述:读取串口数据,一次读一个字符,读完后删除已读数据。
原型:Serial.read()
参数:无。
返回值:返回串口缓存中第一个可读字节,当没有可读数据时返回-1,整数类型。

以上是关于c#从串口读取数据怎样读一个就清空缓存的主要内容,如果未能解决你的问题,请参考以下文章

Arduino串口读取

matlab串口接收数据的问题

C#串口读取?

怎样在matlab中读取串口

我需要利用Modbus协议读取电能表的数据,请问该怎么读呢? 语言是c#

C# 从串口读取数据 - 如何只获取新的/当前数据?