exponenta event banner

Перейдите к коду bluetooth Интерфейс

Новый набор функций и свойств MATLAB ® обеспечивает поддержку связи с устройствами Bluetooth ®. Bluetooth функция, ее объектные функции и ее свойства будут удалены. Используйте bluetooth вместо этого (с учетом регистра) интерфейс.

Обнаружение устройств Bluetooth

В этом примере показано, как обнаружить устройства Bluetooth с помощью рекомендованных функций.

ФункциональностьИспользовать вместо этого
instrhwinfo('Bluetooth')
bluetoothlist

Дополнительные сведения см. в разделе bluetoothlist.

Подключение к устройству Bluetooth

В этих примерах показано, как подключаться к устройству Bluetooth и отключаться от него с помощью рекомендуемых функций.

ФункциональностьИспользовать вместо этого
b = Bluetooth('NXT',3)
fopen(b)
b = bluetooth("NXT",3)
fclose(b)
delete(b)
clear b
clear b

Дополнительные сведения см. в разделе bluetooth.

Запись и чтение

В этих примерах используется устройство закольцовывания, показывающее, как выполнять двоичную запись и чтение, запись неоконченных строковых данных и считывание строковых данных фиксированной длины с использованием рекомендуемой функциональности.

ФункциональностьИспользовать вместо этого
% b is a Bluetooth object
fwrite(b,1:5)
data = fread(b,5)
data =

     1
     2
     3
     4
     5
% b is a bluetooth object
write(b,1:5)
data = read(b,5)
data =

     1     2     3     4     5
% b is a Bluetooth object
command = "start";
fwrite(b,command,"char")
% b is a bluetooth object
command = "start";
write(b,command,"char")
% b is a bluetooth object
command = "start";
write(b,command,"string")
% b is a Bluetooth object
length = 5;
data = fread(b,length,"char")
resp =

   104
   101
   108
   108
   111
data = char(data)'
resp =

    'hello'
% b is a bluetooth object
length = 5;
data = read(b,length,"string")
data =

    "hello"

Дополнительные сведения см. в разделе write или read.

Чтение завершенной строки

В этих примерах показано, как выполнить считывание завершенной строки с использованием рекомендуемой функциональности.

ФункциональностьИспользовать вместо этого
% b is a Bluetooth object
data = fscanf(b,"%e")
data =

    11.9000

Для спецификатора формата "%e", fscanf возвращает признак конца, и пользователь должен удалить его из строки.

% b is a bluetooth object
data = readline(b)
data = 

    "11.9"
data = sscanf(data,"%e")
data =

    11.9000
% b is a Bluetooth object
data = fgetl(b)
data =

    'hello'

fgetl считывает до достижения указанного терминатора, а затем отбрасывает его.

% b is a bluetooth object
data = readline(b)
data = 

    "hello"

readline считывает до достижения указанного терминатора, а затем отбрасывает его. Нет возможности включить терминатор.

% b is a Bluetooth object
data = fgets(b)
data =

    'hello
     '

fgets считывает до достижения указанного терминатора, а затем возвращает терминатор.

Дополнительные сведения см. в разделе readline.

Отправить команду

В этом примере показано, как записывать завершенные строковые данные с использованием рекомендуемой функциональности.

ФункциональностьИспользовать вместо этого
% b is a Bluetooth object
b.Terminator = "CR/LF"
channel = 1;
fprintf(b,"id is %d",channel);
% b is a bluetooth object
configureTerminator(b,"CR/LF")
channel = 1;
str = sprintf("id is %d",channel);
writeline(b,str)

writeline автоматически добавляет признак окончания записи.

Дополнительные сведения см. в разделе configureTerminator или writeline.

Запись и чтение данных

В этом примере показано, как записывать текст и считывать данные с помощью рекомендованных функций.

ФункциональностьИспользовать вместо этого
% b is a Bluetooth object
data = query(b,'ctrlcmd')
data =

    'success'
% b is a bluetooth object
writeline(b,"ctrlcmd")
data = readline(b)
data = 

    "success"

Дополнительные сведения см. в разделе writeline или readline.

Считывание и синтаксический анализ строковых данных

В этом примере показано, как считывать и анализировать строковые данные с помощью рекомендуемых функций.

ФункциональностьИспользовать вместо этого
% b is a Bluetooth object
data = scanstr(b,';')
data =

  3×1 cell array

    {'a'}
    {'b'}
    {'c'}
% b is a bluetooth object
data = readline(b)
data = 

    "a;b;c"
data = strsplit(data,";")
data = 

  1×3 string array

    "a"    "b"    "c"

Дополнительные сведения см. в разделе readline.

Сброс данных из памяти

В этом примере показано, как очистить данные из буфера с помощью рекомендуемой функциональности.

ФункциональностьИспользовать вместо этого
% b is a Bluetooth object
flushinput(b)
% b is a bluetooth object
flush(b,"input")
% b is a Bluetooth object
flushoutput(b)
% b is a bluetooth object
flush(b,"output")
% b is a Bluetooth object
flushinput(b)
flushoutput(b)
% b is a bluetooth object
flush(b)

Дополнительные сведения см. в разделе flush.

Установить терминатор

В этом примере показано, как установить терминатор с помощью рекомендуемой функциональности.

ФункциональностьИспользовать вместо этого
% b is a Bluetooth object
b.Terminator = "CR/LF";
% b is a bluetooth object
configureTerminator(b,"CR/LF")
% b is a Bluetooth object
b.Terminator = {"CR/LF" [10]};
% b is a bluetooth object
configureTerminator(b,"CR/LF",10)

Дополнительные сведения см. в разделе configureTerminator.

Настройка функции обратного вызова

В этом примере устройство закольцовывания используется для демонстрации настройки функции обратного вызова с использованием рекомендованных функций.

ФункциональностьИспользовать вместо этого
% b is a Bluetooth object
b.BytesAvailableFcnCount = 5
b.BytesAvailableFcnMode = "byte"
b.BytesAvailableFcn = @mycallback

function mycallback(src,evt)
   data = fread(src,src.BytesAvailableFcnCount);
   disp(evt)
   disp(evt.Data)
end
    Type: 'BytesAvailable'
    Data: [1×1 struct]

    AbsTime: [2019 12 21 16 35 9.7032]
% b is a bluetooth object
configureCallback(b,"byte",5,@mycallback);

function mycallback(src,evt)
   data = read(src,src.BytesAvailableFcnCount);
   disp(evt)
end
  ByteAvailableInfo with properties:

    BytesAvailableFcnCount: 5
                   AbsTime: 21-Dec-2019 12:23:01
% b is a Bluetooth object
b.Terminator = "LF/CR"
b.BytesAvailableFcnMode = "terminator"
b.BytesAvailableFcn = @mycallback

function mycallback(src,evt)
   data = fscanf(src,'%s');
   disp(evt)
   disp(evt.Data)
end
    Type: 'BytesAvailable'
    Data: [1×1 struct]

    AbsTime: [2019 12 21 16 35 9.7032]
% b is a bluetooth object
configureTerminator(b,"LF/CR")
configureCallback(b,"terminator",@mycallback);

function mycallback(src,evt)
   data = readline(src);
   disp(evt)
end
  TerminatorAvailableInfo with properties:

                   AbsTime: 21-Dec-2019 12:23:01

Дополнительные сведения см. в разделе configureCallback.

См. также

|

Связанные темы