串口通信发送数据过程中出现的缓冲区溢出问题,请教高手!

zilei9901 2005-06-06 03:58:01
请问发送数据过程中的缓冲区溢出问题会不会引起程序的不响应,该怎么来判断和解决,还有串口中的流控制该怎么来设置,请高手指教。
...全文
1304 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
adingzhang 2005-06-13
  • 打赏
  • 举报
回复
我也是碰到类似问题:我用mscomm控件,设了inbuffersize大小为1024时,但当触发oncomm事件时,缓冲区大小却经常有4000个字节,我触发oncomm的消息是只要检测到串口接受缓冲中有数据!问题还没解决呢,关注!
qrlvls 2005-06-11
  • 打赏
  • 举报
回复
如果有流控的话是不会产生溢出的,流控实际上实现也比较容易
http://www.codeproject.com/system/cserialport.asp
如果溢出的话通过是丢弃数据,缓冲区的操作还在于你自己的把握
stevecrisewu 2005-06-11
  • 打赏
  • 举报
回复
qinxiaogang(qinxg)

————————————————

老兄你说错了把
qinxiaogang 2005-06-10
  • 打赏
  • 举报
回复
串口通信发送数据是没有什么固定缓冲区的,接受才有.
串口驱动程序为每个WriteFile()都动态分配不同的缓冲区
zhangnanonnet 2005-06-07
  • 打赏
  • 举报
回复
用PurgeComm清空串口
nuaawenlin 2005-06-07
  • 打赏
  • 举报
回复
缓冲区溢出不会造成程序不响应,只是你接收不到连续的数据,也就是以前的数据被新的数据覆盖了
dfyang 2005-06-06
  • 打赏
  • 举报
回复
发送之前清空缓冲区,缓冲区大小当然要设置好避免溢出
SetupComm(m_hCom, 1024, 512); //设置输入、输出缓冲区的大小
PurgeComm(m_hCom, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR); //清空输入、输出缓冲区

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧