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
116resp = char(resp)'
resp =
'start' |
% s is a serialport object length = 5; resp = read(s,length,"string")
resp =
"start" |
В этом примере показано, как записать завершенную команду 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) |