Сопоставьте память для низкоуровневых операций чтения памяти и операций записи
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
возвращает размер сопоставленного пространства памяти. Необходимо сопоставить пространство памяти перед использованием функции mempeek
или mempoke
.