필터 지우기
필터 지우기

Embeding C Code to Matlab

조회 수: 1 (최근 30일)
Yigit
Yigit 2011년 12월 9일
Hi all,
I have a C code that returns 1024byte hexadecimal value. This value is actually data extracted from a digital oscilloscope. Since I can extract data command by command, it should be possible to plot this data in Matlab continuously - like a data acquisition system. The following is a sample capture gathered from compiled C binary output;
23 38 30 30 30 30 30 36 30 30 CE 35 36 35 36 34 35 36 36 35 35 35 36 34 35 36 35 36 35 36 36 35 35 36 36 35 35 36 35 36 35 35 35 36 34 36 35 36 35 36 36 34 35 35 35 36 35 36 35 34 35 CE CD CE CE CE CE CD CE CE CE CD CE CE CE CD CE CD CD CE CE CE CE CE CE CE CE CE CE CE CE CE CD CE CE CD CF CD CE CE CE CD CE CE CD CE CE CE CE CE CE 36 36 35 34 36 36 34 35 35 35 36 35 36 35 36 35 36 36 35 35 36 35 34 35 35 35 35 36 35 35 35 36 35 36 34 35 34 35 36 35 35 35 36 35 36 35 36 35 36 34 CD CE CE CE CD CE CE CD CF CE CD CE CD CD CE CE CD CD CE CE CD CE CE CE CD CE CD CE CF CE CE CE CD CE CD CD CF CE CE CE CE CE CE CE CF CE CD CE CE CE 35 35 36 36 34 35 34 34 36 35 34 35 36 35 35 36 34 36 33 35 35 35 34 35 34 35 36 35 34 35 35 35 36 34 36 35 34 36 35 36 34 35 35 34 36 34 36 35 34 35 CD CE CD CD CE CE CD CE CE CD CE CE CE CE CD CE CE CE CD CE CD CE CD CE CD CE CD CE CD CE CD CE CD CE CE CE CD CE CD CD CE CE CD CE CE CD CE CE CD CE 35 36 34 35 34 35 34 35 34 35 35 35 34 35 34 36 35 36 34 35 34 35 35 35 34 34 35 35 35 35 36 36 34 35 35 36 34 35 35 34 35 34 36 34 35 35 35 35 34 35 CD CD CF CE CD CE CC CE CD CE CD CE CD CE CD CE CD CE CD CE CD CE CD CE CD CE CD CD CF CE CE CE CD CE CD CE CD CE CD CE CD CE CE CE CD CE CD CE CD CE 36 35 35 34 35 35 36 35 35 35 36 35 34 35 34 35 34 35 34 35 33 36 34 36 34 34 35 35 34 35 34 36 34 35 35 35 36 35 34 35 34 35 36 34 36 35 34 36 35 34 CD CD CE CE CE CE CD CE CD CE CE CE CD CE CD CE CC CE CD CE CD CE CC CE CD CE CD CD CE CE CD CE CE CE CE CE CE CE CC CE CE CE CD CE CD CE CD CE CD CE 35 35 34 35 34 36 34 33 36 35 35 35 35 34 36 35 35 34 36 35 34 35 34 35 35 35 36 35 36 34 35 35 36 34 35 35 34 35 34 35 34 34 36 35 34 36 34 35 36 34 CD CE CD CE CE CD CE CD CE CE CE CE CD CE CD CE CD CE CD CE CE CE CD CE CD CD CE CE CD CE CD CE CE CE CD CE CE CE CD CE CD CE CD CE CD CD CE CE CD
AFAIK I have two options ;
1- Continuously run the compiled C binary and read the output from Matlab interface to plot analyze and etc. 2- Generate necessary MEX file and call the function from Matlab interface
Which one is more efficient ? How can I plot this hexadecimal output continuously realtime? I have been doing some low level programming (C code) just because I couldn't get my device to work with Matlab instrumentation toolbox thus seeking for external approaches.
I would -really- appreciate some guidance from experienced users.

답변 (1개)

Kaustubha Govind
Kaustubha Govind 2011년 12월 13일
How exactly do you plan to achieve #1? Do you write to a port/file from the C binary that MATLAB should read?
My choice would be #2 because that makes for a more elegant solution (I haven't personally done this kind of thing, but #2 should also be more efficient than #1 in general).
You can then call the MEX-function in a loop. See Updating Plot Object Axis and Color Data for an example of a script that continuously updates a plot.

카테고리

Help CenterFile Exchange에서 Language Fundamentals에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by