Get data from hardware using C and process it in MATLAB in real time

5 Ansichten (letzte 30 Tage)
I have a C program that output 10200 bytes of data by communicating with an hardware. I want to process the data in matlab, plot it and refetch new set of value and process it in realtime in a loop. I want to update the graph in realtime. How to obtain otuput of c program in matlab. I use Eclipse IDE for C programming.
What is the best way to do it?
The hardware is a FTDXX device that brings data from a sensor.

Akzeptierte Antwort

Tanmay Das
Tanmay Das am 13 Okt. 2021
Hi,
To my understanding, you want to use the outputs returned by the C code to generate plots in MATLAB. There can be two possible ways by which you can do that:
  1. You can have a C code in the system path and call it while executing the MATLAB code. You may find the documentation on Call C/C++ Code from MATLAB Code helpful if you take this approach.
  2. Another way could be to have everything inside Simulink and call the C code using MATLAB Function block. You can then connect the outputs of the block to Scope to generate graphs. You may find the documentation on Integrate C Code by Using the MATLAB Function Block helpful if you take this particular approach.

Weitere Antworten (1)

Kishore Kumar
Kishore Kumar am 18 Okt. 2021
Bearbeitet: Kishore Kumar am 3 Nov. 2021
I found this method simpler. Just run the program using system command in matlab.
Run the code like you would do in your cmd. But to receive 10200 bytes of data as output of system function took a considerable delay. so i dumped the values of c code in to a txt file and read the text files to import in matlab. That was really faster.
EDIT:
Now I have started using the shared library provided by FTDI using MATLAB callllibrary function. It works as expected.

Kategorien

Mehr zu MATLAB Compiler finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by