社区
C++ Builder
帖子详情
用readfile能实现一直不停读串口吗?
萧萧1983
2018-10-09 03:52:32
设备向上位机一直发串口数据,我使用线程循环读取,可是用readfile常常是读取到的缓冲区过大,有别的方法吗???
...全文
390
4
打赏
收藏
用readfile能实现一直不停读串口吗?
设备向上位机一直发串口数据,我使用线程循环读取,可是用readfile常常是读取到的缓冲区过大,有别的方法吗???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
日立奔腾浪潮微软松下联想
2018-10-11
打赏
举报
回复
用SetupComm把系统缓冲区设置大一些就可以了,不用设置自己的缓冲区,由于线程切换的原因,在高数据率的情况下,你的线程可能被挂起而不能及时接收数据,自己的缓冲区设置得再大也没用。也可以用timeSetEvent,这个是在系统线程中运行,可以保证毫秒级的响应,但是对于串行通讯还不必这么高的实时性。
draculamx
2018-10-11
打赏
举报
回复
缓冲区过大是什么意思?readfile执行失败了?如果是这样的话,你可以自己建立一个缓冲区,大一点,每次读取进来之后,就放到缓冲区里,然后再去处理缓冲区里面的数据。串口线程只负责把数据读出来放到缓冲区,另外再开一个数据处理线程,不停地处理缓冲区里面的数据就行了。不要从串口读数据,处理完了再去读,这样的话,数据量大的话是来不及的
萧萧1983
2018-10-10
打赏
举报
回复
引用 1 楼 zhgwbzhd 的回复:
自己写有点费事,可以考虑类似 Victor 控件,就会简单很多。
好的 我试试 谢谢
zhgwbzhd
2018-10-10
打赏
举报
回复
自己写有点费事,可以考虑类似 Victor 控件,就会简单很多。
read\write 堵塞与非堵塞
读
取
串口
数据
read函数从打开的设备或文件中
读
取数据。 #include ssize_t read(int fd, void *buf, size_t count); 返回值:成功返回
读
取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read返回0 参数count是请求
读
取的字节数,
读
上来的数据保存在缓冲区buf中,同时文件的当前
读
写位置向后移。注意这个
读
windows
串口
通信函数API
主要API函数 CreateFile - 打开
串口
;
ReadFile
-
读
数据; WriteFile - 写数据; CloseHandle - 关闭
串口
; GetCommState - 取得
串口
当前状态; SetCommState - 设置
串口
状态; PurgeComm - 清除
串口
缓冲区 ; ClearCommError - 清除
串口
错误或者
读
取
串口
现在的状态; SetCommMask - 设置
串口
通信事件; WaitCommEvent - 用来判断用SetCommMask()函数设置的
串口
通信事件
MFC
读
取
串口
数据
API
串口
操作 1. 用途:打开
串口
原型:HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes DWORD dwCreationDistribution, DWORD dwFlagsAndA
有关于
串口
通信程序的编写
最近在看
串口
编程方面的知识,转自:https://blog.csdn.net/lanyzh0909/article/details/6001165 Win 32系统把文件的概念进行了扩展。无论是文件、通信设备、命名管道、邮件槽、磁盘、还是控制台,都是用API函数CreateFile来打...
串口
通讯,参考
第一节
实现
串口
通讯的函数及
串口
编程简介 API函数不仅提供了打开和
读
写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作。常用函数及作用下: 函数名 作用 CreateFile 打开
串口
GetCommState 检测
串口
设置 Se
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章