我正在尝试打开一个串口,以便我可以使用下面的标准CreateFile()代码从设备接收Uart数据;
HANDLE hComm; // Handle to the Serial port
char ComPortName[] = "COM4"; // Name of the Serial port(May Change) to be opened,
/*---------------------------------- Opening the Serial Port -------------------------------------------*/
hComm = CreateFile(ComPortName, // Name of the Port to be Opened
GENERIC_READ | GENERIC_WRITE, // Read/Write Access
0, // No Sharing, ports cant be shared
NULL, // No Security
OPEN_EXISTING, // Open existing port only
0, // Non Overlapped I/O
NULL); // Null for Comm Devices
if (hComm == INVALID_HANDLE_VALUE)
printf("\n Error! - Port %s can't be opened\n", ComPortName);
else
printf("\n Port %s Opened\n ", ComPortName);
但每次返回无效句柄时。我有点害怕,但是我已经对此有了很好的了解,我看不出有什么理由?!
我试过" COM4:"正如另一篇文章中所建议的那样,"\\\\.\\COM4"
(虽然我知道这应该仅对com端口10及以上版本有效),但仍然没有乐趣!这个端口绝对存在,因为我可以使用Teraterm和RealTerm连接和接收数据,并且它不是已经在使用的情况。
我在使用Boot Camp的Mac上使用Windows 10,并想知道这是否是一个问题?我在一个帖子中读到,如果窗口没有被正确激活,那就有问题,但是它有点模糊。
非常感谢任何建议,非常感谢。