MemIn函数
用于返回指定存储器I/O端口的状态。各端口有8个存储器位。
格式
MemIn (端口编号)
参数
- 端口编号
- 指定存储器I/O的字节。
返回值
返回0~255的整数。返回值为8位,各个位分别对应于1个存储器I/O位。
说明
利用MemIn每次可查看8个存储器I/O位的值。MemIn命令可用于将8个存储器I/O位的状态保存为1个变量,或与Wait同时使用,在符合与2个以上I/O位有关的特定条件之前,使程序保持待机状态。
由于1次可获取8位的值,因此,返回值的范围为0~255。有关各返回值与各存储器I/O位状态的对应关系,请参照下表。
存储器I/O位表(使用端口0时)
返回值 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
1 | Off | Off | Off | Off | Off | Off | Off | On |
5 | Off | Off | Off | Off | Off | On | Off | On |
15 | Off | Off | Off | Off | On | On | On | On |
255 | On | On | On | On | On | On | On | On |
存储器I/O位表(使用端口31时)
返回值 | 255 | 254 | 253 | 252 | 251 | 250 | 249 | 248 |
---|---|---|---|---|---|---|---|---|
3 | Off | Off | Off | Off | Off | Off | On | On |
7 | Off | Off | Off | Off | Off | On | On | On |
32 | Off | Off | On | Off | Off | Off | Off | Off |
255 | On | On | On | On | On | On | On | On |
注意
MemIn与MemSw的差异
可利用MemSw命令读取存储器I/O位1的值。MemSw的返回值为0或1时,表示存储器I/O位为On或Off。MemSw用于单独检查存储器I/O位。从检查存储器I/O位的状态方面来看,MemIn命令类似于MemSw。不同之处在于,MemSw命令逐位检查存储器I/O的状态,而MemIn命令则同时检查8位。MemIn的返回值返回的是0~255的值。可根据该值了解8位中的何者为On,何者为Off。
参阅
In, InBCD, Off, MemOff, On, MemOn, OpBCD, Oport, Out, MemOut, Sw, MemSw, Wait
MemIn使用示例
如下所示为求出最初8个存储器I/O的当前值之后,确认全部8个的值为“0”并继续执行的程序示例。返回值不是“0”时,显示错误信息,中止任务。
Function main
Integer var1
var1 = MemIn(0) '获取最初8个存储器I/O位的值
If var1 = 0 Then
Go P1
Go P2
Else
Print "Error in initialization!"
Print "First 8 memory I/O bits were not all set to 0"
EndIf
Fend
如下所示为利用命令窗口的简单操作示例。
> memout 0, 1
> print MemIn(0)
1
> memon 1
> print MemIn(0)
3
> memout 31,3
> print MemIn(31)
3
> memoff 249
> print MemIn(31)
1
>