日期:2014-05-18  浏览次数:21211 次

有关C#的串口调试程序
我在使用VS2010进行串口通信相关的编程,在界面上我设置了一个接收、停止接收数据按键,通过按键可以在两个状态切换,但是只有在第一次启动的时候数据接收才可以,如果按一下停止接收后再次开始接受,就会发现有多余的数据出来。一开始是一位在串口的缓冲区中数据有冗余,导致出现这个问题,但是使用了com.DiscardOutBuffer();或者com.DiscardInBuffer();之后再次点按键就直接跳出来了,报错。于是就纯不知道为啥,请教各路高手!

------解决方案--------------------
你这是因为,发送端在不停的发送,发送的数据都存放在端口缓冲区中,你读一次的话,是一次性的读取缓冲区中的数据,所以才会有多余的数据。