8255モード設定をチップ単位で取得します。
Ret = DioGet8255Mode ( Id , ChipNo , CtrlWord )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
DioInitで取得したデバイスIDを指定します。
ChipNo
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
LSIi8255チップ番号を指定してください。
チップ番号は、0から始まり、3ポートごとに1増えます。
CtrlWord
[ VB.NET: Short ] [ C, C++: short * ] [ C#: out short ] [ Python: ctypes.POINTER(ctypes.c_short)
]
コントロールワードを格納する変数のアドレスを指定してください。コントロールワードの設定値一覧を以下に示します。
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
16進数 |
Port A |
Port C (High 4bit) |
Port B |
Port C (Low 4bit) |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
80 |
OUTPUT |
OUTPUT |
OUTPUT |
OUTPUT |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
81 |
OUTPUT |
OUTPUT |
OUTPUT |
INPUT |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
82 |
OUTPUT |
OUTPUT |
INPUT |
OUTPUT |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
83 |
OUTPUT |
OUTPUT |
INPUT |
INPUT |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
88 |
OUTPUT |
INPUT |
OUTPUT |
OUTPUT |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
89 |
OUTPUT |
INPUT |
OUTPUT |
INPUT |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
8A |
OUTPUT |
INPUT |
INPUT |
OUTPUT |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
8B |
OUTPUT |
INPUT |
INPUT |
INPUT |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
90 |
INPUT |
OUTPUT |
OUTPUT |
OUTPUT |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
91 |
INPUT |
OUTPUT |
OUTPUT |
INPUT |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
92 |
INPUT |
OUTPUT |
INPUT |
OUTPUT |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
93 |
INPUT |
OUTPUT |
INPUT |
INPUT |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
98 |
INPUT |
INPUT |
OUTPUT |
OUTPUT |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
99 |
INPUT |
INPUT |
OUTPUT |
INPUT |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
9A |
INPUT |
INPUT |
INPUT |
OUTPUT |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
9B |
INPUT |
INPUT |
INPUT |
INPUT |
詳細は、ボード添付の解説書を参照してください
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_SYS_RECOVERED_FROM_STANDBY |
7 |
スタンバイモードから復帰したため、DioResetDevice関数を実行してください |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
ドライバーを呼び出せません(デバイスI/Oコントロールに失敗)。 |
DIO_ERR_DLL_BUFF_ADDRESS |
10100 |
データバッファアドレスが不正です。 |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません。 |
DIO_ERR_SYS_8255 |
20600 |
8255チップ番号が指定可能範囲外です。 |
その他のエラー(参照:エラーコード詳細)
システム起動時には全ポート入力の設定になっています。一度DioSet8255Modeでコントロールワードを設定した後は、その設定値を返すようになります。
この関数を使用する場合は、まずDioInitを実行し、次にDioSet8255Mode()で入出力ポート(入出力点数)を設定してから、使用するようにしてください。
LSIi8255チップ0設定されている値を取得します。
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |