Укажите, увеличивается ли смещение регистра VXI после передачи данных
Можно настроить MemoryIncrement быть block или FIFO. Если MemoryIncrement является block, memread и memwrite функции увеличивают смещение после каждой операции чтения и записи, и данные передаются из или в последовательные элементы памяти. Если MemoryIncrement является FIFO, memread и memwrite функции не увеличивают смещение регистра VXI, и данные всегда считываются из одного и того же элемента памяти или записываются в него.
Использование | VISA-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