[英]CreateFile COM port error 2
我正在嘗試使用Visual Studio 2012(C ++)中的以下代碼在Windows 7上打開並寫入COM串行端口
printf("argv[2]= '%s'\n", argv[2]);
m_hCommPortSend= ::CreateFile(argv[2] ,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if(m_hCommPortSend == INVALID_HANDLE_VALUE)
{
printf("%s error: %d\n", argv[2], GetLastError());
return -1;
}
此代碼與argv [2]作為COM1或COM7一起使用時效果很好
我有另一個COM端口COM39,當我以argv [2]的形式傳遞COM39時,它沒有打開,返回2的GetLastError()。
不知道為什么嗎?
CreateFile的MSDN頁面在“通信資源”下顯示以下內容:
要指定大於9的COM端口號,請使用以下語法: \\\\.\\COM10
。 此語法適用於所有端口號和允許指定COM端口號的硬件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.