0

PCで次のコードを実行しようとしました。PORT 0x378(LPT1データ)を使用すると、正常に動作します。ただし、PORT 0x379(LPT1ステータス)では、前の行で何を出力しても、常に126が返されます。0x37Aも機能します。私はWindowsXPを持っています

#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 に答える