read

Чтение данных с последовательного порта

Описание

пример

data = read(device,count,datatype) считывает количество значений, заданное в count в форме, заданной datatype от последовательного порта device. Для всех числовых datatype типы, data - вектор-строка с двойными значениями. Для типа текста datatype значения "char" или "string", data имеет заданный тип. Функция приостанавливает MATLAB® выполнение до тех пор, пока не будет считано заданное количество значений или не произойдет тайм-аут.

Примеры

свернуть все

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

device = serialport("COM3",9600)
device = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

Запишите значения [1,2,3,4,5] в формате uint8.

write(device,1:5,"uint8")

Поскольку порт соединяется с устройством закольцовывания, данные, которые вы записываете в устройство, возвращаются в MATLAB. Считайте все данные.

read(device,5,"uint8")
ans = 1×5

     1     2     3     4     5

Входные параметры

свернуть все

Последовательное соединение портов, заданное как a serialport объект.

Пример: read(device,20,"uint32") считывает данные из последовательного соединения портов device.

Количество считываемых значений, заданное как положительное целое значение. Если count больше, чем NumBytesAvailable свойство deviceфункция приостанавливает выполнение MATLAB и ожидает, пока не будет считан заданный объем данных или не произойдет тайм-аут.

Пример: read(device,5,"uint32") считывает пять значений данных uint32. Каждое значение uint32 составляет четыре байта, всего считано 20 байтов.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Размер и формат каждого значения, заданные как вектор символов или строка. datatype определяет количество байтов для чтения для каждого значения и интерпретацию этих байтов как типа данных MATLAB.

Пример: read(device,5,"int16") считывает пять значений данных uint16. Каждое значение uint16 составляет два байта, всего считано 10 байтов.

Типы данных: char | string

См. также

Функции

Введенный в R2019b