An interface for faster serial within MATLAB by implementing c_serial code base:
This uses mex functions, so you will need to get the mex compiler within matlab working. I implemented this library to reduce latency and enable high bandwidth communication with an embedded micro-controller connected through a serial port. I have achieved 500 Hz round trip communication with a pic through an ft232r FTDI chip using this interface.
The example.m file contains brief instructions on how to use this interface. Make sure to compile with mex before trying to run the example (I compiled with visual studio 2013, let me know if people run into compiler errors). I designed the interface to closely resemble using MATLAB's built in serial IO functions. readPort is analogous to fread and writePort is analogous to fwrite in this context.
Remember if you are using an FTDI FT232r (some Arduinos and many other MCUs use this chip) to turn down latency to achieve these speeds as in the following link: https://projectgus.com/2011/10/notes-on-ftdi-latency-with-arduino/
Tested in Linux, Fixed some bugs, it is now working!
Jeffrey Friesen (2023). Mex_C_Serial_Interface (https://github.com/Jfriesen222/Mex_C_Serial_Interface), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Versions that use the GitHub default branch cannot be downloaded
Added 64 bit linux support. Compiled with gcc in Ubuntu 16.04.
Fixed some errors in description!