Qt 学习(3)
Qt 修改 Windows 注册表项 在使用 FT232R 驱动(usb转串口设备)连接电脑时,下位机发送的数据会被转换器缓存起来,由串口转换器驱动设定的延时定时发送到 PC,这样就造成了一个问题:上位机和下位机同时发送数据时将会导致电平冲突(乱码)。为了解决这个问题就需要进入设备管理器中将设备的延时调小。然而每次设置设备管理器的延时都比较麻烦,已知设备延时的值是在注册表中存储,那么直接修改注册表项就可以将延时调小。 延时所在的注册表项为 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Enum\\FTDIBUS\\device-id\\0000\\Device Parameters\\LatencyTimer ,其中 device-id 与实际使用的设备有关。 Qt 读写注册表可以通过 QSettings 实现。 // RegisterModifier.cpp const int maxLatency = 3; const QString registerPath = QString("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Enum\\FTDIBUS"); const QString latencyKey = QString("LatencyTimer"); void