serialport Интерфейсserial функция, ее объектные функции и ее свойства не рекомендуются. Использование serialport вместо этого.
serial Интерфейс | serialport Интерфейс | Пример |
|---|---|---|
seriallist | serialportlist | Узнайте устройства последовательного порта |
serial | serialport | Свяжите с устройством последовательного порта |
fwrite и fread | write и read | Читайте и запишите |
fprintf | writeline | Отправьте команду |
fscanffgetl, и fgets | readline | Считайте отключенную строку |
binblockwrite | writebinblock | Запись данных с бинарным протоколом блока |
binblockread | readbinblock | Считайте данные с бинарным протоколом блока |
flushinput и flushoutput | flush | Сбросьте данные из памяти |
Terminator | configureTerminator | Установите Терминатора |
BytesAvailableFcnCountBytesAvailableFcnModeBytesAvailableFcn, и 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" |
Для получения дополнительной информации смотрите 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.