(Будет удалено) Карта памяти для низкоуровневых операций чтения и записи памяти
Этот visa
функция object будет удалена в следующем релизе. Использовать visadev
вместо этого функции объекта. См. Вопросы совместимости.
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
вызывается, память отменяется перед отключением объекта от инструмента.
The MappedMemorySize
свойство возвращает размер сопоставленного пространства памяти. Вы должны сопоставить пространство памяти перед использованием mempoke
или mempeek
функция.