如何获取串口和并口的物理地址,详情见内

时间:2023-02-09 23:55:02
BIOS中串口一般分配为3F8/IRQ4,
并口为378/IRQ7,
如何在开机进入windows后获取这些地址?

19 个解决方案

#1


艾,怎么没人回答?
都没上班啊?

#2


我前天就上班了

#3


抓狂

#4


注册表里好像找不到

#5


读取BIOS里的设置信息嘛.

#6


楼上的,怎么读取阿

#7


再顶上来,大家看看阿

#8


GZ

#9


在驱动程序中直接使用这些地址就可以了,不过,Microsoft规定,访问硬件的东东不能由应用程序直接调用,而必须转个弯,由WDM驱动来完成,向串口3F8,并口为378等这些地址,在WDM中是可以直接使用的(如_inp()和_outp()函数).

#10


问题是很多机器的并口地址配置不一样,想在程序中自动获取,然后再对其进行IO操作。
获取地址操作我实现不了。

#11


windows下面直接用"COMx"和"LPTx"(其中x是数字0,1....)访问串口和并口,其他系统下面不是很清楚,观望中.........

#12


楼上的说得是用文件方式访问吧,封装的层面太高了,我需要从底层访问

#13


PC机上,COM1和COM2的地址是在2F8~2FF 及3F8~3FF 之间,在底层做个判断吧,其他的我也不知道了

#14


楼上的这我知道阿,LPT1,2,3对应0x378,0x278,3bc,但对应顺序是可变的,
我想知道怎么从底层获取这些对应。

#15


再顶

#16


if you enter ring0 then you can do it very easy,please my blog

#17


我看看奥,手上一个方案要写,可能慢一点

#18


艾,很久没在windows上编程,手生阿

#19


读取bios的内容来获取吧
http://www.vckbase.com/document/viewdoc/?id=934

#1


艾,怎么没人回答?
都没上班啊?

#2


我前天就上班了

#3


抓狂

#4


注册表里好像找不到

#5


读取BIOS里的设置信息嘛.

#6


楼上的,怎么读取阿

#7


再顶上来,大家看看阿

#8


GZ

#9


在驱动程序中直接使用这些地址就可以了,不过,Microsoft规定,访问硬件的东东不能由应用程序直接调用,而必须转个弯,由WDM驱动来完成,向串口3F8,并口为378等这些地址,在WDM中是可以直接使用的(如_inp()和_outp()函数).

#10


问题是很多机器的并口地址配置不一样,想在程序中自动获取,然后再对其进行IO操作。
获取地址操作我实现不了。

#11


windows下面直接用"COMx"和"LPTx"(其中x是数字0,1....)访问串口和并口,其他系统下面不是很清楚,观望中.........

#12


楼上的说得是用文件方式访问吧,封装的层面太高了,我需要从底层访问

#13


PC机上,COM1和COM2的地址是在2F8~2FF 及3F8~3FF 之间,在底层做个判断吧,其他的我也不知道了

#14


楼上的这我知道阿,LPT1,2,3对应0x378,0x278,3bc,但对应顺序是可变的,
我想知道怎么从底层获取这些对应。

#15


再顶

#16


if you enter ring0 then you can do it very easy,please my blog

#17


我看看奥,手上一个方案要写,可能慢一点

#18


艾,很久没在windows上编程,手生阿

#19


读取bios的内容来获取吧
http://www.vckbase.com/document/viewdoc/?id=934

#20