Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2342327
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:01:37

如果判断串口控件是否已经打开, 可以用 Active 属性: if(YbCommDevice1->Active) { //已经打开
如果判断串口是否被别人打开:串口被别人打开,就不能再打开了。
如果设置了串口号,再执行 Active=true; 执行成功,就说明没有被别人打开,如果失败,有两种可能:
1.被别人打开了,2.串口不存在。
判断串口是否存在,可以通过:

TCommSerialPortInfo spi;
if(spi.IsFromSystem) //系统安装了串口驱动程序,表明存在串口
 {
   spi.PortList->Count; //电脑上一共有的串口个数, 以安装的驱动程序为准, 例如内置调制解调器或USB转串口线都是一个串口
   spi.PortList->Strings[i]; //第i个串口的名字,例如 "COM1", "COM2" 等
   spi.PortNo(spi.PortList->Strings[i]); //第i个串口的串口串口号(整数),例如 1 表示 COM1, 2 表示 COM2
 }

查遍所有 spi.PortList->Count个 串口的名字或者串口号,可以找到某个串口是否存在。

--------------------next---------------------

阅读(1155) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~