0

我试图在我的电脑上运行以下代码。使用 PORT 0x378(LPT1 数据)它可以正常工作。但是对于 PORT 0x379(LPT1 状态),无论我在前一行输出什么,它总是返回 126。0x37A 也可以。我有 Windows XP

#define PORT 0x379
#define DATA 255
int main(int argc, char *argv[])
{
    Input input;
    Output output;
    HINSTANCE hInstLib = LoadLibrary(TEXT("inpout32.dll"));
    if (!hInstLib)
    {
        printf("No dll.\n");
        system("PAUSE");
        return 1;
    }
    input = (Input)GetProcAddress(hInstLib, "Inp32");
    output = (Output)GetProcAddress(hInstLib, "Out32");
    if (!input || !output)
    {
        printf("No funcion.\n");
        FreeLibrary(hInstLib);
        system("PAUSE");
        return 1;
    }
    output(PORT, DATA);
    printf("status: %i\n", input(PORT));
    FreeLibrary(hInstLib);
    system("PAUSE");
    return EXIT_SUCCESS;
}
4

1 回答 1

0

端口 0x379 是输入端口。您无法更改它在软件中报告的值,您实际上必须在引脚 10、11、12、13 或 15 上施加电压。分别是 Ack、*Busy、PaperOut、Select 和 Error 信号。

于 2010-09-19T13:59:10.423 回答