<< 前へ        次へ >>

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

<< 前へ        次へ >>