Сопоставьте память для низкоуровневых операций чтения памяти и операций записи
memmap(obj,'
adrspace
',offset,size)
| Объект VISA-VXI или VISA-GPIB-VXI. |
| Пробел адреса памяти. |
| Возместите для пробела адреса памяти. |
| Количество байтов, чтобы сопоставить. |
memmap(obj,'
сопоставляет объем памяти, заданный adrspace
',offset,size)size
в адресном пространстве, adrspace
со смещением, offset
. Можно сконфигурировать adrspace
к A16
(Адресное пространство A16), A24
(Адресное пространство A24), или A32
(Адресное пространство A32).
Создайте объект VISA-VXI vv
сопоставленный с шасси VXI с индексом 0 и цифровым преобразователем Keysight™ E1432A с логическим адресом 130.
vv = visa('keysight','VXI0::130::INSTR'); fopen(vv)
Используйте memmap
сопоставлять 16 байтов в адресном пространстве A16.
memmap(vv,'A16',0,16)
Считайте первые и вторые инструментальные регистры.
reg1 = mempeek(vv,0,'uint16'); reg2 = mempeek(vv,2,'uint16');
Не сопоставьте память и отключите vv
от инструмента.
memunmap(vv) fclose(vv)
Прежде чем можно будет сопоставить память, obj
должен быть соединен с инструментом с fopen
функция. Связанный интерфейсный объект имеет Status
значение свойства open
. Ошибка возвращена, при попытке сопоставить память в то время как obj
не соединяется с инструментом.
Чтобы не сопоставить память, используйте memunmap
функция. Если память сопоставлена и fclose
называется, память не сопоставлена, прежде чем объект отключается от инструмента.
MappedMemorySize
свойство возвращает размер сопоставленного пространства памяти. Необходимо сопоставить пространство памяти перед использованием mempoke
или mempeek
функция.