3

パラレル ポートを介して LED を制御するために、Visual C++ で次のコードを書きました。

// InpoutTest.cpp : コンソール アプリケーションのエントリ ポイントを定義します。///

 #include "stdafx.h"
 #include "stdio.h"
 #include "string.h"
 #include "stdlib.h"
 #include <conio.h>

 short _stdcall Inp32(short PortAddress);
 void _stdcall Out32(short PortAddress, short data);


 int main(int argc, char* argv[])
 {
     Out32(888, 255);
     system("pause");
         Out32(888, 0);

     return 0;
 }

さて、私が考えたのは、「Out32(888, 255);」という行です。すべてのデータ レジスタに 1 を書き込み、D0 から D7 に接続されているすべての LED が点灯します。しかし、何も起こらず、実行前に点灯していた LED は点灯したままで、消灯していた LED と同じケースでした。

「Out32(888, 0);」の場合も同様で、どの LED もオフになりませんでした。

上記のコードで何が間違っていますか? 64ビットOS(Windows 8)で作業しているため、「Inpoutx64.dll」を使用しました。プロジェクトのプロパティ>リンク>入力>追加の依存関係にも「Inpoutx64.lib」を含めました。

また、「inpoutx64.dll」を Windows/system 32 にコピーしました。

4

1 に答える 1

1

inpoutx64.dll生成されたファイルと同じディレクトリにあり、必要なシステム ドライバーをインストールするために、に含まれているプログラム.exeを実行し、UAC 昇格を許可していることを確認してください。InstallDriver.exeinpoutx64.dll

于 2013-03-03T07:27:15.667 に答える