DioSetIoDirection


機能

I/Oポートの入出力方向を設定します。

書式

Ret = DioSetIoDirection ( Id , Dir )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
DioInitで取得したデバイスIDを指定します。

Dir [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
入出力方向はポート単位で指定します。※1

D7

D6

D5

D4

D3

D2

D1

D0

 

 

 

 

 

ポート2

ポート1

ポート0

 

 

 

 

 

 

 

0:入力

 

 

 

 

 

 

 

1:出力

指定可能な範囲: 0 ≦ Dir ≦ 2の(デバイスでサポートしているポート数)乗 - 1

ビット = 0: 入力
ビット = 1: 出力

※1:原則1ポートは8ビットですが、ビット数が8ビット未満のデバイスは全ビットをポート0として扱います。

戻り値

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_SYS_NOT_SUPPORTED

20001

このデバイスではこの関数は使用できません。

DIO_ERR_SYS_IODIRECTION

20500

入出力切り替え機能設定値が指定範囲外です。

その他のエラー(参照:エラーコード詳細

説明

i8255モード0相当機能搭載デバイスの場合は、DioSet8255Mode関数を使用してください。

使用例

ポート0を出力として使用します。

VB.NET

Dim Ret As Integer
Ret = DioSetIoDirection ( Id , &H1 )
 

C, C++

long Ret;
Ret = DioSetIoDirection ( Id , 0x00000001 );
 

C#

int Ret;
Ret = dio.SetIoDirection ( Id , 0x00000001 );
 

Python

Ret = ctypes.c_long()
Ret.value = cdio.DioSetIoDirection ( Id , 0x00000001 )
 

関連項目

DioGetIoDirection