c++ - 直接访问PCI串口

标签 c++ c windows serial-port

你好,我之前有一个用 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/

相关文章:

c++ - 错误的模板参数数量(3,应该是 4)

c - 如何删除 C 中的以下 lint 警告?

iphone - 如何在 NSEnumerator 迭代中获取当前对象的索引?

PHP exec 或 shell_exec 未在 Windows Wamp 上返回进程 ID (PID)

c++ - 从 main 返回时出现段错误(非常简短的代码,没有数组或指针)

c++ - OpenGL glViewport()(重置坐标)

c++ - 你会用 <regex> 实现一个轻量级的 XML 解析器吗?

c - C中的按位运算符下面的概念是什么?它优化了我的代码并大大减少了运行时间

php - 在 Windows 上使用 vim-Syntastic 检查 PHP

windows - 如何在 NullSoft 静默安装过程中检查可用空间?