硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2386|回复: 4
收起左侧

[其它] 用Win32做的串口通信上位机

[复制链接]

38

主题

82

回帖

196

积分

初级会员

积分
196
发表于 2018-7-9 09:37:52 | 显示全部楼层 |阅读模式
我希望利用PC来发数据收数据,并测得之间的延时有多大。
但即使我将CP2102的tx rx短接,收到的数据的延时也有70ms。
Win32的延时这么大,有办法消除吗?(我用的是Win32的API,像CreateFile()。。。)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2018-7-9 09:44:07 | 显示全部楼层
不熟悉上位机串口的编程。
回复

使用道具 举报

3

主题

105

回帖

114

积分

初级会员

积分
114
发表于 2018-7-9 11:29:23 | 显示全部楼层
请楼主好好研究一下Windows SDK的Communications Functions内容,还有异步(overlapped)编程:
并不是用了API就能设计出快速响应的程序,这取决于工作模式!要用异步的工作方式,要精心设计timeout结构。
下面这张图上的API,是你需要去研究的(基本的CreateFile, ReadFile, ReadFileEx, WriteFile, WriteFileEx,[url=]WaitForSingleObject等等[/url]也重要)。
2018-07-09_112215.png
我自己的工具程序都是用C#的pinvoke,直接用API来使用串口的。通过线程优先级控制、异步模式设计、超时结构配置,响应速度非常快!
回复

使用道具 举报

38

主题

82

回帖

196

积分

初级会员

积分
196
 楼主| 发表于 2018-7-9 14:47:40 | 显示全部楼层
公仆 发表于 2018-7-9 11:29
请楼主好好研究一下Windows SDK的Communications Functions内容,还有异步(overlapped)编程:
并不是用了A ...

都试过了,仍然会有50ms以上的延时。
回复

使用道具 举报

9

主题

160

回帖

187

积分

初级会员

积分
187
发表于 2018-7-9 16:00:24 | 显示全部楼层
CP2102是USB转的TTL吧,本来就是一包一包的传输的,楼主看看会不会是这个原因
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 23:57 , Processed in 0.240533 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表