Перейти к содержанию
    

Matlab_передача пакетов через последовательный порт

Передаю и принимаю пакеты через COM порт. Прием и передачу по Rx и Tx осуществляю последовательно.

Вопрос нельзя ли это делать параллельно  для увеличения скорости передачи по каждой линии. Пакеты по 63 байта, если только передаю  то 

вроде скорость получается около 100 Гц, но если еще принимать, то скорость падает. Использую стандартные fwrite(port, data)  и  fread(port, data)  последовательно, но как бы их вызывать параллельно

чтобы скорость 100 Гц сохранить. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, Rst7 said:

Moderator: Простите, а причем тут Matlab?

%% Cleaning workspace
clear all;
close all;
clc;

%% Data acqusition
% Close all COM ports, if it open
ports = instrfind;
if (~isempty(ports))
    fclose(ports);
    delete(ports);
end

% Setup COM port parameters
pBR       = 38400;
pPORTNAME = '/dev/ttyUSB0';
pBUFFER   = ((16384-2) * 3); % [bytes] Should be agreed with FPGA firmware
pTIMEOUT  = 2 * (pBUFFER / (pBR / 8)); % [sec] Should be agreed with data size & port speed

%% Data acquisition

% Create terminal object
s = serial(pPORTNAME, 'BaudRate', pBR, 'DataBits', 8, 'StopBit', 1, 'Parity', 'none', 'FlowControl', 'none');
% Some setup
s.ByteOrder        = 'BigEndian'; 
s.InputBufferSize  = pBUFFER; 
s.OutputBufferSize = 1024;
s.Timeout          = pTIMEOUT;

try
    fopen(s);
catch
    disp('[Error] Can''t open COM port. Finishing...');
    return;
end

% Sent command to get buffer
fwrite(s,   1)

% Read buffer
disp('Data acquisition...');
[rx_buf, cnt, msg] = fread(s, pBUFFER, 'char');
rx_buf = rx_buf.';
disp(['COM port end code: ' msg]);
disp(['Readed ' num2str(cnt) ' bytes']);
disp('Done');

% Close & clear COM port
fclose(s);
delete(s);

наверное вот при этом))) По вопросу ТС подсказать не могу

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оффтоп

Spoiler
On 11/28/2019 at 7:43 PM, des00 said:

наверное вот при этом))) По вопросу ТС подсказать не могу

Вы бы прям ссылочками, ссылочками, на гитлаб =)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...