正如我在标题中所说,我在使用 Lubuntu 上的并行端口时遇到了一些问题。(我使用的是 USB 到 PARALLEL 适配器)我编写了一些在我的另一台 linux PC(有 parport)上运行良好的代码:
#include <stdio.h>
#include <unistd.h> //sleep()
#include <sys/io.h> //outb() ioperm()
#define LPT1 0x0378
#define HIGH 255
#define LOW 0
int main()
{
if (ioperm(LPT1,1,1) == -1) //set LPT permissions
{
printf("PORTE CHIUSE, ESCO!\n");
return -1;
}
printf("PORTE APERTE SU %d\n", LPT1);
while (1)
{
outb(HIGH, LPT1); //LED blinking on D0-D7
sleep(5);
outb(LOW, LPT1);
sleep(5);
}
return 0;
}
不幸的是,这段代码在带有适配器的 PC 上不起作用。我认为这是由于虚拟端口与物理端口的地址不同,但无论如何我不知道如何寻址虚拟端口。所以,我应该在代码中进行哪些更改以使其与适配器一起使用?我应该将哪个地址(如果有的话)放入成本常数“LPT1”中?
在此先感谢大家!;) 晚上好,马特奥。