5月 282015
 
■汎用入出力ポート(DIO)のサポート

1ビット単位で入力と出力の設定が行える汎用入出力ポート(DIO)が最大で8ポート用意されました。
これにより外部機器への信号出力や外部装置からの入力信号を使った処理の制御が可能となります。

DIO制御のためにスクリプトコマンドやAPI関数が用意されています。

DIO制御用に追加されたスクリプトコマンド

スクリプトコマンド書式 意味
DIODIR=x1 各ポートの入出力方向の設定

x1 レジスタまたはリテラル値
DIOINT=x1,x2 入力ポートの割り込み検出設定

x1 レジスタまたはリテラル値
x2 0~3: 割込判定条件
    = 0:Low レベル
    = 1:High レベル
    = 2:Low ⇒ High の変化
    = 3:High ⇒ Low の変化 
DIOINT=DISABLE 割込み禁止
DIOINT_DEBOUNCE=nn DIO割り込み検知時のチャタリング防止時間の設定

nn チャタリング防止時間
   0~500 のミリ秒単位のリテラル値で指定します。
WAITINT=x1,Rn タイムアウト時間の設定。

x1 リテラル値 0~60000:1ミリ秒単位。
Rn レジスタ(n: 0~15)。
  ここで指定したレジスタに割り込み発生で0、
  タイムアウトで1がセットされる
DIOSET=x1 出力ポートの出力値の設定

x1 レジスタまたはリテラル値
DIOGET 入力ポートの状態取得。入力データをレスポンスに表示する。
SET Rn=DIO DIOからの入力値をレジスタRnに設定

Rn レジスタ(n: 0~15)。


DIO制御用に追加されたAPI関数

API関数 usb61mk2_set_dio_mode
機能 DIOのIN/OUT、割込検知を設定
書式
INT usb61mk2_set_dio_mode( UCHAR UnitID, UCHAR bDir, UCHAR bInt,
                       UCHAR bPol, UCHAR bTrg)
引数
     UnitID    ユニット番号
     pDir      1: 出力 0: 入力設定
     pInt      入力検知設定(インターラプト通知)
     pPol      1を設定したポートは High/Low が反対になる
     pTrg      0~3: 割込判定条件
                     0  Low レベル
                     1  High レベル
                     2  Low ⇒ High の変化
                     3  High ⇒ Low の変化 


API関数 usb61mk2_get_dio_mode
機能 DIOのIN/OUT、割込検知を取得
書式
INT usb61mk2_get_dio_mode( UCHAR UnitID, UCHAR bDir, UCHAR bInt,
                       UCHAR bPol, UCHAR bTrg) 
引数
     UnitID    ユニット番号
     pDir      1: 出力 0: 入力設定
     pInt      入力検知設定(インターラプト通知)
     pPol      1を設定したポートは High/Low が反対になる
     pTrg      0~3: 割込判定条件
                     0  Low レベル
                     1  High レベル
                     2  Low ⇒ High の変化
                     3  High ⇒ Low の変化 


API関数 usb61mk2_set_dio
機能 DIOの出力データを書き込む
書式
INT usb61mk2_set_dio( UCHAR UnitID, UCHAR bData)
引数
     UnitID    ユニット番号
     bData     出力データ


API関数 usb61mk2_get_dio
機能 DIOの入力データを読み込む
書式
INT usb61mk2_get_dio( UCHAR UnitID, PUCHAR pData)
引数
     UnitID    ユニット番号
     pData     入力データ格納バッファへのポインタ


API関数 usb61mk2_set_dio_chattering
機能 DIOのチャタリング防止時間を設定する
書式
INT usb61mk2_set_dio_chattering( UCHAR UnitID, SHORT wTime)
引数
     UnitID    ユニット番号
     wTime     チャタリング防止時間(ms)


API関数 usb61mk2_get_dio_chattering
機能 DIOのチャタリング防止時間を取得する
書式
INT usb61mk2_get_dio_chattering( UCHAR UnitID, PSHORT pTime)
引数
     UnitID    ユニット番号
     pTime     チャタリング防止時間(ms)


今回は、REX-USB61mk2で強化された機能の中の高速化された機能と汎用入出力ポート(DIO)のサポートについて紹介しました。
次回も引き続きREX-USB61mk2について紹介していきます。

「REX-USB61mk2で強化された機能(その3)」に続く…


関連記事
SPI/I2C Serial EEPROMへのアクセスを簡単に(その1)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その2)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その3)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その4)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その5)

I2C RTCデバイスにアクセスする
I2C気圧センサーにアクセスする

機能が大幅に強化されたSPI/I2Cプロトコル・エミュレータが新登場!!!
REX-USB61mk2で強化された機能(その1)
REX-USB61mk2で強化された機能(その3)
REX-USB61mk2で強化された機能(その4)

REX-UBS61mk2の新機能 レジスタ設定ツール(その1)
REX-UBS61mk2の新機能 レジスタ設定ツール(その2)


この記事で紹介した製品

REX-USB61mk2製品画像
REX-USB61mk2 - USB-SPI/I2Cプロトコル・エミュレーター(ハイグレードモデル)

REX-USB61製品画像
REX-USB61 - USB-SPI/I2Cプロトコル・エミュレーター

 返信する

以下のHTML タグと属性が利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(必須)

(必須)

*