Passing parameters for C-Mex S-functions returns only Zero(0)
Ältere Kommentare anzeigen
Hello community,
Currently, I'm troubling around with S-function parameters in Simulink. The S-function are all written in C. I wanted to pass parameters to the S-function, but the passed arguments are always just zero. I don't understand this behavior and nearly rewrote the example given in foogain from the help context.
Here's what I did so far:
- I defined the retrieving function in the header of the S-function C-code:
#define FLAG mxGetPr(ssGetSFcnParam(S,0))[0]
- In the mdlOutputs I just wrote a ssPrintf for debug purposes like this:
ssPrintf( "This is the flag: %d", FLAG ); // the flag parameter is -2 though, the ssPrintf will show zero(0) as output ...
Could you please give me some advice what the problem could be? Thanks in advance.
Antworten (2)
Kaustubha Govind
am 24 Feb. 2011
1 Stimme
Could you try %f instead of %d? In this case, FLAG is of type double, but you are using a format specifier that is meant for integers.
Rob
am 24 Feb. 2011
Kategorien
Mehr zu Create MATLAB S-Functions finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!