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