Accelerate fwrite in serial port communication
3 views (last 30 days)
Show older comments
Hi,
I need to use fwrite to send a trigger to a program. I am looking for the fastest way in matlab (no java) to send a packet, when the packet size doesn't matter. Currently fwrite performs in ~0.1 sec. To test speed I send a packet from one computer to another computer and then send a packet back and measure the time. I exclude the run time of the fwrite in computer 2 and get my final times. My code is:
port = serial('COM1','BaudRate',9600);
port.Timeout = 1e3;
port.DataBits = 8;
fopen(port);
numIter = 100;
time = zeros(numIter,1);
for n = 1:numIter
timer = tic;
fwrite(port,1,'uint8');
fread(port,1);
time(n) = toc(timer);
end
end
0 Comments
Answers (1)
Walter Roberson
on 6 Aug 2015
My prediction: you are not using true serial ports, and are instead using USB (at least on the MATLAB side)
See Also
Categories
Find more on AI for Wireless in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!