Низкоуровневая память считана из регистра VXI
out = mempeek(obj,offset)
out = mempeek(obj,offset,'precision
')
| Объект VISA-VXI или VISA-GPIB-VXI. |
| Смещение на пробеле расширенной памяти, из которого считаны данные. |
| Количество битов, чтобы читать из адреса памяти. |
| Массив, содержащий возвращенное значение. |
out = mempeek(obj,offset)
читает значение uint8
из пробела расширенной памяти, заданного offset
для объекта obj
. Значение возвращено к out
.
out = mempeek(obj,offset,'
читает количество битов, заданных precision
')precision
, от пробела расширенной памяти, заданного offset
. precision
может быть uint8
, uint16
или uint32
, который дает команду mempeek
читать 8-, 16-, или 32-битные значения, соответственно. precision
может также быть single
, который дает команду mempeek
читать значения одинарной точности.
Создайте объект 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') reg1 = 53247 reg2 = mempeek(vv,2,'uint16') reg2 = 20993
Не сопоставьте память и отключите vv
от инструмента.
memunmap(vv) fclose(vv)
Обратитесь к Использованию Высокоуровневых Функций Памяти для описания первых четырех регистров цифрового преобразователя E1432A.
Прежде чем можно будет читать из регистра VXI, obj
должен быть соединен с инструментом с функцией fopen
. Связанный интерфейсный объект имеет значение свойства Status
open
. Ошибка возвращена, если вы делаете попытку операции чтения, в то время как obj
не соединяется с инструментом.
Необходимо сопоставить пространство памяти с помощью функции memmap
перед использованием mempeek
. Свойство MappedMemorySize
возвращает размер сопоставленного пространства памяти.
offset
указывает на смещение на пробеле расширенной памяти, из которого считаны данные. Например, если пробел расширенной памяти начинается в 200-м, смещение равняется 2, и точностью является uint8
, то данные считаны из 202-й ячейки памяти. Если точностью является uint16
, данные считаны из 202-го и 203-го.
Чтобы увеличить скорость, mempeek
не возвращает сообщения об ошибке в инструмент.
MappedMemorySize
| MemoryIncrement
| Status
| fopen
| memmap
| mempoke
| memunmap