Задайте, передается ли шаг смещения регистра VXI после данных
Можно сконфигурировать MemoryIncrement
, чтобы быть block
или FIFO
. Если MemoryIncrement
является block
, memread
и функции memwrite
постепенно увеличивают смещение после каждой операции чтения и операции записи, и данные передаются от или до последовательных элементов памяти. Если MemoryIncrement
является FIFO
, memread
и функции memwrite
не постепенно увеличивают смещение регистра VXI, и данные всегда считываются из или пишутся в тот же элемент памяти.
Использование | ВИЗА-VXI, VISA-GPIB-VXI |
Только для чтения | Никогда |
Тип данных | Символьный вектор |
| Постепенно увеличьте смещение регистра VXI. |
| Не постепенно увеличивайте смещение регистра VXI. |
Создайте объект VISA-VXI v
, сопоставленный с шасси VXI с индексом 0 и инструментом с логическим адресом 8.
v = visa('ni','VXI0::8::INSTR'); fopen(v)
Сконфигурируйте оборудование для операции чтения FIFO и операции записи.
v.MemoryIncrement = 'FIFO'
Запишите два значения в регистр VXI, запускающийся при смещении 16. Поскольку MemoryIncrement
является FIFO
, смещение регистра VXI не изменяется, и оба значения записаны, чтобы сместить 16.
memwrite(v,[1984 2000],16,'uint32','A16')
Считайте значение при смещении 16. Возвращенное значение является вторым значением, записанным с функцией memwrite
.
memread(v,16,'uint32') ans = 2000
Считайте два значения, запускающиеся при смещении 16. Обратите внимание на то, что оба значения читаются при смещении 16.
memread(v,16,'uint32','A16',2); ans = 2000 2000
Сконфигурируйте оборудование для операции чтения блока и операции записи.
v.MemoryIncrement = 'block'
Запишите два значения в регистр VXI, запускающийся при смещении 16. Первое значение записано, чтобы сместить 16, и второе значение записано, чтобы сместить 20, потому что значение uint32
состоит из четырех байтов.
memwrite(v,[1984 2000],16,'uint32','A16')
Считайте значение при смещении 16. Возвращенное значение является первым значением, записанным с функцией memwrite
.
memread(v,16,'uint32') ans = 1984
Считайте два значения, запускающиеся при смещении 16. Первое значение читается при смещении 16, и второе значение читается при смещении 20.
memread(v,16,'uint32','A16',2); ans = 1984 2000