一个关于VC++读写串口的问题???
我又一个应用程序是VC++写的,通过接受串口数据并且解析。我在程序中编写了一个串口类,并且使用Readfile读取串口,现在有一个问题,串口传送过来的数据数据量非常大,1s钟将近上万条数据。我的程序呢,处理每条数据都需要时间。所以我应该怎样设置来对每条数据可以完整处理。我使用串口大师接收可以全部接收。但这个只是单纯接收而不做处理。还有就是我设置的串口缓冲区是4096.字符。
SetupComm(m_hCom,4096,4096);
缓存调制多少是最佳啊???
请大家帮帮忙!!!我应该采取什么方法更好呢??? vc++ MFC
[解决办法]
串口缓冲不用太大,根据速度来,保证能存下1秒钟的数据就足够了。至于处理耗时,你应该另外自建个任务缓冲队列,串口数据取下来做下初步报文切取,就扔队列里去。
[解决办法]
我在想,串口的速率有多少,够你接收吗?
lpOverlapped参数呢,是用来异步读写的,这样不用等文件操作函数执行完才往下走,倒是符合你的需要,可以好好看看API了解一下。
[解决办法]
你的波特率是多少,波特率9600是指每秒9600位(1200字节)数据,你说每秒上万条数据是上万个字节的数据?如果是这样你要开缓冲来协调解决你的串口传输瓶颈问题。