首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

一个关于VC++读写串口的有关问题?

2013-04-02 
一个关于VC++读写串口的问题???我又一个应用程序是VC++写的,通过接受串口数据并且解析。我在程序中编写了一

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

lpOverlapped参数呢,是用来异步读写的,这样不用等文件操作函数执行完才往下走,倒是符合你的需要,可以好好看看API了解一下。
[解决办法]

引用:
我又一个应用程序是VC++写的,通过接受串口数据并且解析。我在程序中编写了一个串口类,并且使用Readfile读取串口,现在有一个问题,串口传送过来的数据数据量非常大,1s钟将近上万条数据。我的程序呢,处理每条数据都需要时间。所以我应该怎样设置来对每条数据可以完整处理。我使用串口大师接收可以全部接收。但这个只是单纯接收而不做处理。还有就是我设置的串口缓冲区是4096.字符。
SetupComm(……

你的波特率是多少,波特率9600是指每秒9600位(1200字节)数据,你说每秒上万条数据是上万个字节的数据?如果是这样你要开廦缓冲来协调解决你的串口传输瓶颈问题。

热点排行