1
A
回答
1
答案取決於在設備和電纜上。
在某些情況下,連接設備時會引發DSR(SerialPort.DsrHolding
)甚至CTS(SerialPort.CtsHolding
)。
但是在某些情況下,您可能只連接了Tx/Rx,唯一需要說明的是嘗試與設備進行通信。
您需要查看設備及其電纜的文檔。
沒有適用於任何設備的通用解決方案。
0
您可以通過打開串口併發送設備支持的最基本命令並檢查響應來完成。例如,對於GSM調制解調器,您可以打開端口並按命令發送,並可以收到響應。
0
夫婦的事情,你可以嘗試
- 創建串口對象,然後打開一個端口,現在當設備連接 ,OS應該發送CDChanged事件。
- 您可以ping通串口,並且如果您收到迴應,請假定它已連接。
+0
你確定任何設備必須返回一些響應嗎?讓我檢查一下。 – Saran
+0
@Saran:不是所有設備都不強制返回消息。 –
3
1.WMI:SELECT * FROM Win32_SerialPort
:
ManagementObjectSearcher manObjSearch = new ManagementObjectSearcher("Select * from Win32_SerialPort");
ManagementObjectCollection manObjReturn = manObjSearch.Get();
foreach (ManagementObject manObj in manObjReturn)
{
//int s = manObj.Properties.Count;
//foreach (PropertyData d in manObj.Properties)
//{
// Console.WriteLine(d.Name);
//}
Console.WriteLine(manObj["DeviceID"].ToString());
Console.WriteLine(manObj["Name"].ToString());
Console.WriteLine(manObj["Caption"].ToString());
}
2.如果設備發送迴響應:System.IO.Ports.SerialPort.GetPortNames()
和發送基本命令:
foreach (string portname in SerialPort.GetPortNames())
{
var sp = new SerialPort(portname, 4800, Parity.Odd, 8, StopBits.One);
try
{
sp.Open();
sp.Write("Your known command to device");
Thread.Sleep(500);
string received = sp.ReadLine();
if (received == "expected response")
{
Console.WriteLine("device connected to: " + portname);
break;
}
}
catch (Exception)
{
Console.WriteLine("device NOT connected to: " + portname);
}
finally
{
sp.Close();
}
}
相關問題
- 1. 如何自動檢測連接到COM端口的設備
- 2. 如何查找連接的特定USB設備的COM端口。的C#2.0
- 3. 定期掃描串行端口以查看設備是否連接到QT,QSerialPort
- 4. 32feet.net:如何通過BluetoothClient連接到特定的COM端口
- 5. 確定設備鎖定的COM端口
- 6. 將USB設備分配並連接到COM端口
- 7. 獲取連接到串行端口的設備名稱
- 8. 如何與連接到並行端口的設備通話?
- 9. Android平板電腦到串行端口設備連接
- 10. 通過給定的PnpDeviceID確定COM端口號:COM端口設備的DeviceID是否始終爲「COMx」?
- 11. 如何獲取連接到串行端口的設備製造商名稱
- 12. C - 如何從設備端的串行端口接收(z1 mote)
- 13. 檢測連接到FTDI芯片的特定串行端口
- 14. 檢查設備和COM端口之間的連接
- 15. C - 獲取特定設備的COM端口號
- 16. 如何連接手機與COM端口
- 17. ASP.NET網頁到設備連接到服務器的USB(COM)端口
- 18. COM端口連接問題
- 19. 如何列出連接到Mac的USB端口的設備?
- 20. 確定串行端口是否正常COM或SPP
- 21. 如何檢索連接到USB端口的USB設備的端口號?
- 22. 連接幾個COM端口到一個
- 23. 使用pySerial連接到非COM端口
- 24. 如何將USB設備識別爲現有的COM端口而不是新的?
- 25. 串行COM端口超時設置
- 26. 使用PowerShell從連接到com端口的設備請求信息
- 27. 無法連接到特定端口
- 28. 發現並連接到BLE設備
- 29. 如何找到一種方法是否實現特定接口
- 30. 如何從USB端口連接到RJ45控制檯設備?
當設備連接到端口並啓動時,DsrHolding屬性爲true。當然你不知道*什麼*特定的設備,直到你開始談論它。 –
「設備連接時DsrHolding屬性將爲true」 - 可能會也可能不會,具體取決於設備和電纜。 – Joe