Automatic generation of S function for a c code

I have a C code and want generate S function for it using matlab scripting..(Avoid manual steps required for s function generation)..Can any one help me for this

 Akzeptierte Antwort

Kaustubha Govind
Kaustubha Govind am 22 Jul. 2013

0 Stimmen

You can use the Legacy Code Tool to generate a C-MEX S-function wrapper for your C-code.

6 Kommentare

Rupesh
Rupesh am 1 Sep. 2013
Thanks Kaustubha for the answer...It seems to be working for me...Additionaly I have one more question: My C function does not have any input argument nor it returns anything(it is of kind void main(void))...But I need to provide some input values for the internal signals of c code and simillarly I need to take few internal variables as output variables from the s function that will be created from my c code....Could you please let me know how it can be done...
Rupesh: Not sure what you mean by "internal variables". How would you provide/access the values if you were writing the code outside of Simulink?
Rupesh
Rupesh am 6 Sep. 2013
suppose my code is like
main() { int a,b,c; c=a+b; }
As main function does not take any input argument nor it returns anything.. In my problem I have to pass values of variable a and b from matlab environment and then take out variable c in matlab environment
How are the values stored in the MATLAB environment? Is there a reason you are not using a From Workspace block feeding parameters to the S function ? If changing the C code is not allowed, then how does the C code get its values at the moment?
Rupesh
Rupesh am 7 Sep. 2013
I have to connect these variables(here a and b) using inports in Simulink. and will provide values through test vectors in .m file.. On the same lines output c should be connected to outport of Simulink..
Looking after for your answer
Rupesh: Walter's question was about how you might invoke the C code from another C application and supply inputs. It seems to me that you have to rewrite your C code so that the inputs a and b are passed in as function argument and c as a return argument. Once you have done that, you can use the Legacy Code Tool to generate an S-function so that the block inputs are passed in to 'a' and 'b' and 'c' is assigned back to the block output.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Simulink Coder finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by