社区
API
帖子详情
如何提高串口通信速度
bts2003
2009-12-13 09:54:29
硬件工程师开发了一块单片机板,只要按通信协议上位机发数据给下位机,下位机立即回数据,我用串口调试助手试过了,1分钟约可以收发最大6000,可是我用VB的MSCOMM编程,计时,1分钟约2400次,如何提高速度?要求是3600次以内。除出代码,计算机高速运行?
...全文
897
21
打赏
收藏
如何提高串口通信速度
硬件工程师开发了一块单片机板,只要按通信协议上位机发数据给下位机,下位机立即回数据,我用串口调试助手试过了,1分钟约可以收发最大6000,可是我用VB的MSCOMM编程,计时,1分钟约2400次,如何提高速度?要求是3600次以内。除出代码,计算机高速运行?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xmyxjw
2010-10-21
打赏
举报
回复
用API做的串口通讯比控件要快!
flfq
2010-10-20
打赏
举报
回复
如果对速度要求很高的话,可以下位机主动发送,上位机被动接收,单片机定时器的精度比pc要高很多。
Gujianda
2010-10-19
打赏
举报
回复
of123真是高手,说到点子上了。
我经常玩和单片机通信的事,你那点代码也不要保密了,贴出来,我帮必改。
tongfeng1981
2010-10-17
打赏
举报
回复
学习了
熊孩子开学喽
2010-09-28
打赏
举报
回复
[Quote=引用 4 楼 bts2003 的回复:]
大哥,不要玩我呀?只是个EXE,哪有源程序?而且好像很慢????
字节到缓冲区,到串口,不通过控件,直接从API走?
用readfile
和writefile等函数!
[/Quote]
既然没源码,那要么你自己重新写一个,要么反编译去改EXE
of123
2010-09-01
打赏
举报
回复
1 应该不是波特率的问题。要改波特率,必须和底层一起改。现在的情况是,串口助手可以满足你的速率要求,而自己写的程序比较慢。
2 不要用 Timer 这类方式去查询串口的接收状态。用 OnComm 事件或循环查询都可以。注意一下你接收到数据后再发命令是如何衔接的。
3 对于串口这种低速接口,如果没有特殊的连续设置改变,我认为控件和 API 的差别不大。
综上所述,关键点在于你的程序架构。
efengxu
2010-08-31
打赏
举报
回复
我觉得有几种因素决定
1:波特率
2:你电脑的cpu
3:软件处理能力
carefire
2010-08-28
打赏
举报
回复
1. 更改到更高的波特率
2. 如果用VB的MSCOMM,可以:
1)不要用查询方式,而应事件方式,使用OnComm事件,并且不要在里面使用界面处理代码,如不要用类似这样的代码:Text1.Text = Text1.Text & Recv_Char
2)因为每次都收4个字节,所以可以设置Rthreshold=4,至少收到4个字符才触发一次OnComm事件,节省三次事件调用时间。
3)收到数据后,立即发送,利用对方发送时间内做数据处理。
心若冰清自然开心
2010-08-23
打赏
举报
回复
怎么我的串口还没通啊,谁给个完整的源码瞧瞧啊?
unsv29mj
2009-12-19
打赏
举报
回复
给你找到1个
comdebug.exe 这个我用过 logo是个黄色的 纸飞机 很强大!!!
在CSDN里面有下载
http://download.csdn.net/down/467118/huhonggong
还有那个单片机波特率和助手的要设置一样的!
如果这个助手都搞不定 那么很抱歉!让那个写单片机程序的回家抱孩子去!
unsv29mj
2009-12-19
打赏
举报
回复
你的问题我看的有点糊涂!!
你的意思是说:每分钟串口助手发送3600个字符给单片机。
是这个意思吧??
一分钟 = 60秒 = 60000毫秒
9600的话 一个字符是1.04毫秒
那么波特率9600的话 就是能发6万个字符 跑去乱七八糟的时间 如果单片机程序写得再烂,发3600个字符没啥问题。
所以你的问题应该出现在串口助手编写的有点对付不了这种高速发数的情况
所以建议你换个串口助手
一般来说 用C++编写的处理速度要好很多
所以你的任务是要找到一个好的串口助手
用户 昵称
2009-12-19
打赏
举报
回复
6000 * 9 = 54000
54000 / 60 = 900字节/秒
所以你这块板通信速率应该是9600以上。
估计是19200之类的,速度限制应该是软件的。
langchen456
2009-12-18
打赏
举报
回复
qqq
贝隆
2009-12-13
打赏
举报
回复
[Quote=引用 4 楼 bts2003 的回复:]
大哥,不要玩我呀?只是个EXE,哪有源程序?而且好像很慢????
字节到缓冲区,到串口,不通过控件,直接从API走?
用readfile
和writefile等函数!
[/Quote]
你说的很对
贝隆
2009-12-13
打赏
举报
回复
抱歉,是这个:
http://download.csdn.net/source/1339593
bts2003
2009-12-13
打赏
举报
回复
大哥,不要玩我呀?只是个EXE,哪有源程序?而且好像很慢????
字节到缓冲区,到串口,不通过控件,直接从API走?
用readfile
和writefile等函数!
贝隆
2009-12-13
打赏
举报
回复
这是一个使用API写得串口通信控件,包括代码,你可以看看:
http://download.csdn.net/source/1887318
比较一下到底是MSComm快,还是API快
我个人认为API快
bts2003
2009-12-13
打赏
举报
回复
发5个字节,收4个字节,串口调试助手1分钟最大约6000次,VB的MSCOMM编程2400次,
是否API会快些?
字节到缓冲区,出去串口?直接用底层的API快些?
咸清
2009-12-13
打赏
举报
回复
你试的数据有多大啊?就一次一个字符那肯定快了~~~
计算机高速运行,仅仅是消息处理的速度快了~~~
速度也是受波特率限制的,你把波特率提高一点不就相对快很多了吗?
串口
通信
技术
串行数据传送的特点是: 数据传送按位顺序进行,最少只需要一根传输线即可完成,节省传输线。与并行
通信
相比,串行
通信
还有较为显著的优点:传输距离长,可达到数千公里;在长距离内串行数据传送速率会比并行数据传送速率快;串行
通信
的
通信
时钟频率容易
提高
;串行
通信
的抗干扰能力十分强,其信号间的互相干扰完全可以忽略。但是串行
通信
传送
速度
比并行
通信
传送
速度
慢,并行
通信
时间为T,则串行时间为nT
delphi6
串口
通信
在工程实践中经常需要实现上下位机间的
串口
通信
,为了编程的方便性我们通常采用字符方式进行数据传输,由于需要数据转换以及转换后的数据长度增加,数据传输
速度
不够理想,为了
提高
系统实时性在某些特殊场合更需要直接采用二进制进行数据传输。Delphi6.0是一种面向对象的可视化的快速应用开发(RAD)工具,它既具有C++语言的强大功能,同时又有VB的易用性,Delphi6.0的伸缩性强,既可用于开发小项目,也可用于开发大项目,尤其适用于快速应用的开发,其大量优点使它迅速成为一种非常流行的编程语言。Delphi6.0中
串口
通信
的实现方法很多,可以使用嵌入式汇编语言、API函数以及VB的MSComm控件来实现。其中使用MSComm控件来实现
串口
通信
最方便,但有关Delphi如何实现二进制
通信
的资料很少,大部分参考书都只介绍了VB中MSComm控件的字符
通信
方式。由于Delphi中数组跟Variant变量不兼容,即在Delphi中字节数组不能直接赋值给MSComm控件的output属性,这跟VB有中很大的不同(VB中可以直接赋值),本人通过摸索总结出两种实现Delphi二进制
通信
的方法,即动态数组法和可变数组(Variant Array)法,并给出了应用实例。在应用实例中我们使用Delphi的absolute关键字来定义两个同地址的动态数组,类型分别为字节型数组和短整型数组,使用字节动态数组接收数据后,可以直接使用短整型动态数组获得短整型数据,省却了数据转换的麻烦
安卓
串口
Socket通讯USB驱动jni相关-通过jni调用C实现高斯模糊效果
提高
了实现
速度
.rar
通过jni调用C实现高斯模糊效果,
提高
了实现
速度
.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
串口
监视工具 v6.72.zip
今天小编要给大家介绍一款专业好用的
串口
通信
桌面监控程序软件——
串口
监视工具。软件可以侦测、拦截、逆向分析
串口
通信
协议,监视电脑
串口
活动,显示波特率和状态,并能保存日志记录,让您对应用程序操作串行端口的过程和细节,让您及时的模拟被侦听程序或设备的数据、控制流,
提高
工作效率。
串口
监视工具使用方便,
速度
快,质量高,对于用户来说是一款很不错的软件,小编这里推荐大家使用这款软件!
串口
监视工具功能
串口
调试: 和多数
串口
调试工具一样具有
串口
的收发功能. 本身特点: 自动检测
串口
(包括各种虚拟
串口
). 参数设置详细,能发送16进制,各种文件数据. 显示
串口
握手线信号, 显示各种硬件错误. 作用: 调试
串口
应用程序.
串口
测试: 发送,接收大量伪随机码对
串口
设备/
串口
线路的质量进行测试. 能自动同步,可以测试单向的线路质量,代替昂贵的测试仪表. 随机码包括标准的 2^15-1,2^11-1,2^9-1和16bit人工码.自动/手动插入误码(1/10000,1/1000,单个). 自动记录各种测试结果. 作用: 测试
串口
设备/
串口
线路(测试时不要选软件流控).
串口
监视: 不占用
串口
资源,监视
串口
通信
的整个流程---从打开到关闭 监视
串口
的各种参数设置: 波特率,数据位,校验位,停止位,握手方式,超时数值,
串口
事件等等. 监视
串口
的收发数据,各种硬件信号,硬件错误. 作用: 监视程序对
串口
的访问流程.
串口
过滤: 不占用
串口
资源,对流经
串口
的数据进行过滤. 在发送/接收数据流中改变字符. 在发送/接收数据流中进行字符代替. 在发送/接收数据流中删除字符. 作用: 模拟数据传输中出现的各种误码,丢失字符,调试
串口
的
通信
协议.
串口
监视工具截图
基于PL2303的
串口
转USB口串行
通信
设计
随着科学技术的快速发展,单片机的应用已经渗入到了生产、生活的方方面面,其应用范围广泛,应用前景越好。单片机的开发应用在创新技术发展中一支独秀,在校大学生以及科技开发工作者的青睐。多功能、超强型的单片机在市场上也层出不穷,为单片机的开发应用提供了很好的基础。目前,在单片机的应用系统设计中,USB接口的使用越来越多,简化了单片机系统与外部系统进行信息交换的接口电路,
提高
了信息交换的可靠性及交换
速度
。
API
1,486
社区成员
23,279
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章