MemoryIncrement

Укажите, происходят ли шаги регистра VXI после передачи данных

Описание

Можно конфигурировать MemoryIncrement чтобы быть block или FIFO. Если MemoryIncrement является block, memread и memwrite функции увеличивают смещение после каждой операции чтения и записи, и данные передаются от или к последовательным элементам памяти. Если MemoryIncrement является FIFO, memread и memwrite функции не увеличивают смещение регистра VXI, и данные всегда считываются или записываются в один и тот же элемент памяти.

Особенности

Использование

VISA-VXI, VISA-GPIB-VXI

Только для чтения

Никогда

Тип данных

Вектор символов

Значения

Значение по умолчанию заключено в скобки ({}).

{block}

Увеличьте смещение регистра VXI.

FIFO

Не увеличивайте смещение регистра 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

См. также

Функции

mempeek, mempoke, memread, memwrite