cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1881|回复: 5

有关串口通信的一些疑问?

[复制链接]
发表于 2007-5-18 11:41:45 | 显示全部楼层 |阅读模式
1.这两个函数里设置的超时时限有什么区别吗?
//设置通信超时时间
SetComTime (1, 5.0);
//设置串口Com1调制解调器参数
XModemConfig (1, 10.0, 10, 5.0, 1024);
2.禁止软硬件握手是为了提高通信速度吗?
3.ComRd和XModemReceive
这两个函数均是从串口读取数据,那二者有什么区别呢?
从上面这些问题我觉得有必要理解串口通信的协议是如何实现的,如果能给我讲一下将不胜感激!
发表于 2007-5-20 22:21:27 | 显示全部楼层
1,没有用过超时,不太了解!不过第二个好像是MODEM的,第一个应该是普通串口的!应该就在这里!猜测而已,您最好先看一下它的HELP!
2,软硬件握手,如果握手不成功就不会通信上,有些东西不需要握手的,所以就可以不需要握手,有些需要的就一定得要的!

3,应该和第一个问题差不多!

串口通信的例子在CVI中有提供示例的,您可以看它的例子就可以用的,好运!
发表于 2007-5-21 20:09:45 | 显示全部楼层
1,没有区别,一个参数多些,一般有硬件握手协议时用,如果自己定协议用软件实现,用SetComTime 可以了
2,第二个问题我也不清楚
3,一个用在有硬件握手协议,一个用在没有时
发表于 2007-5-23 19:20:07 | 显示全部楼层

回答你

1:SetComTime (1, 5.0);该函数是有很大作用的.它防止进程死锁.试想你串口发了数据.而又接不到的时候.
ComRd()函数就会一直等待.程序就运行不走了.
而有了这个SetComTime后.只要超过你第二个parameter.串口就默认读写一次.而不管你是不是真的读到还是发了数据.
发表于 2007-5-23 19:21:48 | 显示全部楼层
2 协议 的意思是:我们谈得成就做.谈不成就不做.并不会说我们谈不成也做一点.
和速度是没有关系的.
 楼主| 发表于 2007-5-24 15:58:52 | 显示全部楼层

回复 #4 hehuxun 的帖子

谢谢
现在明白了一点,那就是关于SetComTime (1, 5.0);这个函数的重要性
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-4-10 23:33 , Processed in 0.672749 second(s), 6 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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