你好,我之前有一个用 C++ 构建的应用程序。
用于通过串口控制设备。
我记得开发它的人说他的软件是直接访问串口(直接访问内存)。
现在带串口的电脑越来越少了,如果我用的是PCI扩展串口,软件还能直接访问串口吗?
谢谢
最佳答案
这在一定程度上取决于您的 PCIe 串口有多少向后兼容的驱动程序支持。
如果它提供一个(可能是虚拟的)16550 UART 的直接 I/O 空间映射的 registers ,您将需要更改软件中的“基地址”,但它可能会起作用。如果驱动程序不支持,则它无法正常工作。
前四个标准串行端口具有以下基地址和与之关联的中断:
| base IRQ
-----------------
COM1 | 0x3f8 IRQ4
COM2 | 0x2f8 IRQ3
COM3 | 0x3e8 n/a
COM4 | 0x2e8 n/a
可能应该重写软件以使用对端口的更高级别访问。
关于c++ - 直接访问PCI串口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848253/