10.4.8. 缓冲区变量 (BUFV)
10.4.8. 缓冲区变量 (BUFV)
无论数据类型如何,都可保存二进制数据保存的缓冲区。大小为64kbyte。
索引(index)从0开始。(0-based)
当使用多任务(multitask)时,各任务会具有独立的BUFV。
BUFV0 ~ BUFV65535
或
BUFV[0] ~ BUFV[65535]
若要以所需的类型处理缓冲区内特定位置的二进制数据,则需使用type属性。
可使用的type属性类型如下:
endian | Property | type |
Big endian | S1 | signed integer (1byte) |
S2 | signed integer (2byte) | |
S4 | signed integer (4byte) | |
U1 | unsigned integer (1byte) | |
U2 | unsigned integer (2byte) | |
U4 | unsigned integer (4byte) | |
F4 | single prec.real (4byte) | |
F8 | double prec.real (8byte) | |
Little endian | s1 | signed integer (1byte) |
s2 | signed integer (2byte) | |
s4 | signed integer (4byte) | |
u1 | unsigned integer (1byte) | |
u2 | unsigned integer (2byte) | |
u4 | unsigned integer (4byte) | |
f4 | single prec.real (4byte) | |
f8 | double prec.real (8byte) |
例1)
若要从BUFV内offset 24的位置开始,将4byte解释为little endian的整数值并赋给g_iY的变量中,请执行以下赋值语句即可。
g_iY = BUFV[24].s4
.s4为type属性。s指signed integer,4则指4byte。因s为小写而解释为little endian。
例2)
若要从BUFV内offset 1500的位置开始,将约big endian倍的运算结果以实数形式保存在4byte中,请执行以下赋值语句即可。
BUFV[1500].f8=(V5!+140.8)/2.5