Com端口:Windows 8下的串口通信
Com port : Serial communication on Windows 8
我需要通过串行通信发送8位(一个字节)到设备。该消息只是一个0到255之间的数字,用8位编码(没有比这更复杂的了)。我不需要阅读任何答案或来自设备的任何内容。我需要在Windows上做这个
我试图在Windows 8上实现的解决方案目前不起作用。我正在尝试使用CreateFile.
下面是我的代码:static HANDLE handle;
//[...]
handle = CreateFile("\\.\COM4", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (handle == INVALID_HANDLE_VALUE)
{
// Handle the error.
printf ("CreateFile failed with error %d.n", GetLastError());
}
控制台输出为:
CreateFile failed with error 2.
最后(一部分)我的设备管理器(截图):
Port (COM et LPT)
--> Communications Port (COM1)
--> Prolific USB-to-Serial Comm Port (COM4)
根据我的理解,"错误2"是"文件未找到"。
就是这样。你要么帮我解决这个问题,要么给我另一个不同的解决方案(因为,事实上,我想做的不应该那么复杂)。
这是一个驱动程序问题,windows默认安装的那个不工作(截图)。
我安装了这个驱动程序。多产公司的假芯片问题很大。因此,他们在更新的芯片和更新的驱动程序版本中添加了身份验证。如果硬件没有通过认证,驱动程序进入Code 10状态。
多产的旧芯片也没有身份验证,所以驱动程序将它们视为假货。对用户来说不是很好的体验。在多产的网站上,这些芯片版本被官方列为"不支持Windows 8"。但是,与操作系统没有实际的不兼容,并且在身份验证功能解决问题之前恢复到驱动程序版本。但是你会被卡在一个老的有bug的驱动程序版本上。(结束技术说明,开始经济说明)
解决方案是硬件制造商用脚投票,而不是继续从一家公司购买芯片
- 惩罚那些购买带有假芯片的硬件的无辜消费者,因为在供应链的早期做了一些消费者不知道的事情
- 禁止正品作为附带损害在他们的私人战争的仿冒品
当然,当消费者不得不用带有认证芯片的新外设替换正常工作的外设时,硬件制造商会增加销量。但这是一个卑鄙的策略。
最终,消费者不得不拒绝把钱花在计划淘汰的产品上。
相关文章:
- C++ Boost::asio串行通信与Arduino无法写入
- 删除功能不适用于串行通信后多个循环中的多个实例
- 为什么我要从串口读取垃圾?
- 对传统串行端口通信进行逆向工程
- 串口读取功能的通信超时和线程不超时
- 串行通信 c++ 串行端口类
- 串口通信
- 基本串行端口通信Visual Studio C++(在浏览现有示例中时遇到问题)
- 串行端口通信
- 串行端口通信 - PuTTY 仿真
- 用于串行通信的 USB 端口名称
- Qt串行端口通信
- Com端口:Windows 8下的串口通信
- 重写串口通信从c++到c#
- 打印到文件的值不正确.串口通信程序
- 有没有人能给我推荐一个c++库,可以在x86和x86_64版本的操作系统上进行串口通信
- 增强串行通信,COM端口被拒绝并出现错误"open: access is denied"
- 串口通信c++ Linux
- 奇怪的行为 QT QSerialPort 在 Windows 7 上不会更改串行通信端口的设置
- 串口通信教程