首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取连接到串行端口的设备名称

获取连接到串行端口的设备名称
EN

Stack Overflow用户
提问于 2010-12-21 22:00:23
回答 4查看 22.8K关注 0票数 16

我搜索如何获得连接到串口的材料的设备名称。

我有两种不同类型的材料可以在上面连接。

第一个:打印机(只接收数据,不发送任何内容)第二个:余额(只发送数据,不接收任何内容)

如何区分这两种材料?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-21 22:05:29

没有通用的方法来识别串行端口(UART RS232)设备。

除非设备有特殊的命令,您可以将其发送到设备,并让它响应识别信息,否则您可以做的事情不多。

通常,依赖于串行端口的应用程序将具有标准设置屏幕,用户将使用该屏幕来配置设备所连接的串行端口、端口配置,如波特率、奇偶校验位、停止位和数据位。如果可以在同一端口上切换多个设备,则操作员将负责在与设备通信之前为目标设备选择正确的配置。

这是USB等新技术的优点,在这些技术中,设备识别被内置到标准中。

票数 11
EN

Stack Overflow用户

发布于 2011-05-16 20:01:11

试试这个:

代码语言:javascript
复制
        ManagementObjectCollection ManObjReturn;
        ManagementObjectSearcher ManObjSearch;
        ManObjSearch = new ManagementObjectSearcher("Select * from Win32_SerialPort");
        ManObjReturn = ManObjSearch.Get();

        foreach (ManagementObject ManObj in ManObjReturn)
        {
            //int s = ManObj.Properties.Count;
            //foreach (PropertyData d in ManObj.Properties)
            //{
            //    MessageBox.Show(d.Name);
            //}
            MessageBox.Show(ManObj["DeviceID"].ToString());
            MessageBox.Show(ManObj["PNPDeviceID"].ToString());
               MessageBox.Show(ManObj["Name"].ToString());
               MessageBox.Show(ManObj["Caption"].ToString());
               MessageBox.Show(ManObj["Description"].ToString());
               MessageBox.Show(ManObj["ProviderType"].ToString());
               MessageBox.Show(ManObj["Status"].ToString());

        }
票数 13
EN

Stack Overflow用户

发布于 2014-04-16 15:51:12

代码语言:javascript
复制
static void Main(string[] args)
{
    ManagementObjectCollection ManObjReturn;
    ManagementObjectSearcher ManObjSearch;
    ManObjSearch = new ManagementObjectSearcher("Select * from **Win32_ParallelPort**");
    ManObjReturn = ManObjSearch.Get();

    foreach (ManagementObject ManObj in ManObjReturn)
    {
        //int s = ManObj.Properties.Count;
        //foreach (PropertyData d in ManObj.Properties)
        //{
        //    MessageBox.Show(d.Name);
        //}
        Console.WriteLine(ManObj["DeviceID"].ToString());
        Console.WriteLine(ManObj["PNPDeviceID"].ToString());
        Console.WriteLine(ManObj["Name"].ToString());
        Console.WriteLine(ManObj["Caption"].ToString());
        Console.WriteLine(ManObj["Description"].ToString());
        Console.WriteLine(ManObj["ProviderType"].ToString());
        Console.WriteLine(ManObj["Status"].ToString());

    }

}

http://www.seeques.com/20766280/the-port-name-is-illegal-or-couldnt-be-connected-to-the-device.html

端口名称是非法的,像that...fio这样的错误消息是非法的。!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4500027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档