serialport
Интерфейсserial
функция, ее объектные функции и ее свойства не рекомендуются. Используйте serialport
вместо этого.
serial Интерфейс | serialport Интерфейс | Пример |
---|---|---|
seriallist | serialportlist | Узнайте устройства последовательного порта |
serial | serialport | Свяжите с устройством последовательного порта |
fwrite и fread | write и read | Читайте и запишите |
fprintf | writeline | Отправьте команду |
fscanf fgetl , и fgets | readline | Считайте отключенную строку |
binblockwrite | writebinblock | Запись данных с бинарным протоколом блока |
binblockread | readbinblock | Считайте данные с бинарным протоколом блока |
flushinput и flushoutput | flush | Сбросьте данные из памяти |
Terminator | configureTerminator | Установите Терминатора |
BytesAvailableFcnCount BytesAvailableFcnMode BytesAvailableFcn , и BytesAvailable | configureCallback | Настройте функцию обратного вызова |
PinStatus | getpinstatus | Считайте последовательное состояние контакта |
DataTerminalReady и RequestToSend | setDTR и setRTS | Установите последовательный DTR и состояния контакта RTS |
seriallist
не рекомендуется. Используйте serialportlist
вместо этого.
В этом примере показано, как связать с устройством последовательного порта с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
s = serial("COM1");
s.BaudRate = 115200;
fopen(s) |
s = serialport("COM1",115200); |
Для получения дополнительной информации смотрите serialport
.
Эти примеры используют устройство закольцовывания, чтобы показать, как выполнить бинарную запись и читать, запишите неотключенную командную строку и считайте строку ответа фиксированной длины с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object fwrite(s,1:5,"uint32") data = fread(s,5,"uint32") data = 1 2 3 4 5 |
% s is a serialport object write(s,1:5,"uint32") data = read(s,5,"uint32") data = 1 2 3 4 5 |
% s is a serial object command = "start"; fwrite(s,command,"char") |
% s is a serialport object command = "start"; write(s,command,"char") |
% s is a serialport object command = "start"; write(s,command,"string") | |
% s is a serial object length = 5; resp = fread(s,length,"char") resp = 115 116 97 114 116 resp = char(resp)' resp = 'start' |
% s is a serialport object length = 5; resp = read(s,length,"string") resp = "start" |
Для получения дополнительной информации смотрите write
или read
.
В этом примере показано, как записать отключенную команду SCPI с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object s.Terminator = "CR/LF" channel = 1; level = 3.44; fprintf(s,"TRIGGER%d:LEVEL2 %1.2f",[channel,level]); | % s is a serialport object configureTerminator(s,"CR/LF") channel = 1; level = 3.44; cmd = sprintf("TRIGGER%d:LEVEL2 %1.2f",[channel,level]); writeline(s,cmd)
|
Для получения дополнительной информации смотрите configureTerminator
или writeline
.
В этом примере показано, как выполнить отключенное чтение строки с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object fprintf(s,"MEASUREMENT:IMMED:TYPE PK2PK") a = fscanf(s,"%e",6) a = 2.0200 Для спецификатора формата |
% s is a serialport object writeline(s,"MEASUREMENT:IMMED:TYPE PK2PK") a = readline(s) a = "2.0200" sscanf(a,"%e") a = 2.0200 |
% s is a serial object fprintf(s,"*IDN?") a = fgetl(s) a = 'TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16'
| % s is a serialport object writeline(s,"*IDN?") a = readline(s) a = "TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04"
|
% s is a serial object fprintf(s,"*IDN?") a = fgets(s) a = 'TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04 '
|
Для получения дополнительной информации смотрите readline
.
В этом примере показано, как записать данные с двоичным протоколом блока стандарта IEEE с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object waveform = sin(2*pi*60*0:.16:60); fprintf(s,"WLIS:WAV:DATA") binblockwrite(s,waveform,"double") |
% s is a serialport object waveform = sin(2*pi*60*0:.16:60); writeline(s,"WLIS:WAV:DATA") writebinblock(s,waveform,"double") |
Для получения дополнительной информации смотрите writebinblock
.
Этот пример использует устройство закольцовывания, чтобы показать, как считать данные с двоичным протоколом блока стандарта IEEE с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object fprintf(s,"CURVe?") data = binblockread(s,"double") data = 1 2 3 4 5 |
% s is a serialport object writeline(s,"CURVe?") data = readbinblock(s,"double") data = 1 2 3 4 5 |
Для получения дополнительной информации смотрите readbinblock
.
В этом примере показано, как сбросить данные из буфера с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object
flushinput(s)
|
% s is a serialport object flush(s,"input") |
% s is a serial object
flushoutput(s)
|
% s is a serialport object flush(s,"output") |
% s is a serial object
flushinput(s)
flushoutput(s)
|
% s is a serialport object
flush(s) |
Для получения дополнительной информации смотрите flush
.
В этом примере показано, как установить терминатор строки с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object s.Terminator = "CR/LF"; |
% s is a serialport object configureTerminator(s,"CR/LF") |
% s is a serial object s.Terminator = {"CR/LF" [10]}; |
% s is a serialport object configureTerminator(s,"CR/LF",10) |
Для получения дополнительной информации смотрите configureTerminator
.
Этот пример использует устройство закольцовывания, чтобы показать, как настроить функцию обратного вызова с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
s = serial("COM5","BaudRate",115200) s.BytesAvailableFcnCount = 5 s.BytesAvailableFcnMode = "byte" s.BytesAvailableFcn = @instrcallback fopen(s) function instrcallback(src,evt) data = fread(src,src.BytesAvailable) disp(evt) disp(evt.Data) end data = 1 2 3 4 5 Type: 'BytesAvailable' Data: [1×1 struct] AbsTime: [2019 5 2 16 35 9.6710] |
s = serialport("COM5",115200) configureCallback(s,"byte",5,@instrcallback); function instrcallback(src,evt) data = read(src,src.NumBytesAvailable,"uint8") disp(evt) end data = 1 2 3 4 5 DataAvailableInfo with properties: BytesAvailableFcnCount: 5 AbsTime: 02-May-2019 15:54:09 |
Для получения дополнительной информации смотрите configureCallback
.
В этом примере показано, как считать последовательное состояние контакта с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object
s.PinStatus ans = struct with fields: CarrierDetect: 'on' ClearToSend: 'on' DataSetReady: 'on' RingIndicator: 'on' |
% s is a serialport object
status = getpinstatus(s) status = struct with fields: ClearToSend: 1 DataSetReady: 1 CarrierDetect: 1 RingIndicator: 1 |
Для получения дополнительной информации смотрите getpinstatus
.
В этом примере показано, как установить последовательный DTR, и RTS прикрепляют состояния с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
% s is a serial object s.DataTerminalReady = "on"; |
% s is a serialport object
setDTR(s,true) |
% s is a serial object s.RequestToSend = "off"; |
% s is a serialport object
setRTS(s,false) |
Для получения дополнительной информации смотрите setDTR
или setRTS
.