exponenta event banner

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