ID : 312
DefIO
機能
I/O型のローカル変数を宣言します。
構文
DefIO 変数名 = データサイズ, ポートアドレス[, マスク情報]
指定項目
- 変数名
- 変数名を指定します。命名規則にしたがって指定します。有効範囲内で同じ名称は使用できません。また配列の宣言も可能です。
- データサイズ
- I/O型データのデータサイズを指定します。指定できるデータサイズは"Bit"、"Byte"、"Word"、"Short"、"Integer"、"Single"のいずれかです。
- ポートアドレス
- I/Oポートの開始番号を指定します。整数型データで指定します。I/Oポートにない番号を指定したり、データサイズが入出力ポート内に収まらない場合はエラーです。
- マスク情報
-
マスク情報を整数型データで指定します。
入力ポートの場合、入力データとマスク情報をAnd演算した結果を得ます。
出力ポートの場合、出力データとマスク情報のAndをとり出力しますが、マスクがセットされていないビットの出力状態は変化しません。データサイズがSingleのときはマスク情報を指定することはできません。
解説
I/O型のローカル変数を宣言します。
配列での宣言について
リモートレジスタなどで連続したI/Oポートをまとめて使用したい場合などに配列で宣言できます。
'I/Oポート4096からワードデータで16個Rwdinという変数宣言する例
DefIO Rwdin(15) = Word, 4096
'I/Oポート4608からワードデータで16個Rwdoutという変数宣言する例
DefIO Rwdout(15) = Word, 4608
関連項目
注意事項
用例
'!TITLE "入出力ポートに対応するI/O変数の宣言"
' I/O変数をBit型、Byte型、Word型、Integer型、Single型で宣言
Sub Sample_DefIO
' 変数IO_OFFSETを256として宣言
#Define IO_OFFSET 256
' aaaをポート1から始まるBit型I/O変数として宣言
DefIO aaa = Bit, 1
' bbbをポート10から始まるByte型I/O変数のマスク情報を付けて宣言
DefIO bbb = Byte, 10, &B00001111
' cccをポート15から始まるWord型I/O変数として宣言
DefIO ccc = Word, 15
' dddをポート1から始まるInteger型I/O変数として宣言
DefIO ddd = Integer, 1
' eeeをポート計算結果のポートから始まるByte型I/O変数として宣言
DefIO eee = Byte, IO_OFFSET + 10
' fffをポート128から始まるSingle型I/O変数として宣言
DefIO fff = Single, 128
' gggをポート128から始まるByte型I/O変数の配列として宣言
DefIO ggg(4) = Byte, 128
' ポート128に1、129から135に0を格納
ggg(0) = 1
' ポート136から142に0、ポート143に1を格納
ggg(1) = &H80
End Sub
ID : 312