MFC串口传输MSCOMM控件的调用问题

2024-12-27 10:20:54
推荐回答(1个)
回答1:

可以实现,使用MSCOMM控件中SetRThreshold()方法函数
SetRThreshold(n)表示数据来了n个,就触发一次OnComm事件,但并不是说总共N个数据,就会触发N/n次OnComm事件,每次OnComm事件读到的数据只会比n多,不会比n少,因为在你处理OnComm时,可能就会又有数据进来 。
比方SetRThreshold(1),如果你串口连续有数据,波特率较高,一般都会在OnComm时发现其实GetInput的数据远远不止1个,这个字符数并不一定 OnComm是会不断触发的,只要你串口里面有数据,上一次没取走的数据会在下一次OnComm时获得。如果你要一次获得很多个数据,将你的SetRThreshold值设得大一些。