mempoke

(Чтобы быть удаленным) Низкоуровневая запись памяти к регистру VXI

Этот visa объектная функция будет удалена в будущем релизе. Использование visadev возразите функциям вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

Синтаксис

mempoke(obj,data,offset)
mempoke(obj,data,offset,'precision')

Аргументы

obj

Объект VISA-VXI или VISA-GPIB-VXI.

data

Данные записаны в адрес памяти.

offset

Смещение на пробеле расширенной памяти, в который записаны данные.

'precision'

Количество битов, чтобы записать в адрес памяти.

Описание

mempoke(obj,data,offset) пишет uint8 значение задано data к адресу расширенной памяти, заданному offset для объекта obj.

mempoke(obj,data,offset,'precision') записи data использование количества битов задано precisionТочность может быть uint8uint16, или uint32, который сообщает mempoke записать data как 8-, 16-, или 32-битные значения, соответственно. precision может также быть single, который сообщает mempoke записать data как значения с одинарной точностью.

Примеры

Создайте объект VISA-VXI vv сопоставленный с шасси VXI с индексом 0 и цифровым преобразователем Keysight™ E1432A с логическим адресом 130.

vv = visa('keysight','VXI0::130::INSTR');
fopen(vv)

Используйте memmap сопоставлять 16 байтов в адресном пространстве A16.

memmap(vv,'A16',0,16)

Выполните низкоуровневую запись к четвертому инструментальному регистру, который имеет смещение 6.

mempoke(vv,45056,6,'uint16')

Не сопоставьте память и отключите vv от инструмента.

memunmap(vv)
fclose(vv)

Советы

Прежде чем можно будет записать в регистр VXI, obj должен быть соединен с инструментом с fopen функция. Связанный интерфейсный объект имеет Status значение свойства open. Ошибка возвращена, если вы делаете попытку операции записи в то время как obj не соединяется с инструментом.

Необходимо сопоставить пространство памяти с помощью memmap функция перед использованием mempoke. MappedMemorySize свойство возвращает размер сопоставленного пространства памяти.

offset указывает на смещение на пробеле расширенной памяти, в который записаны данные. Например, если пробел расширенной памяти начинается в 200-м, смещение равняется 2, и точностью является uint8, затем данные записаны в 202-ю ячейку памяти. Если точностью является uint16, данные записаны в 202-й и 203-е.

Увеличить скорость, mempoke не возвращает сообщения об ошибке в инструмент.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2021a

Смотрите также

| | | | |

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте