Passing parameters for C-Mex S-functions returns only Zero(0)
古いコメントを表示
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.
回答 (2 件)
Kaustubha Govind
2011 年 2 月 24 日
1 投票
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.
カテゴリ
ヘルプ センター および File Exchange で Create MATLAB S-Functions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!