How to input a boolean to a C s-function

2 次查看(过去 30 天)
I can input boolean data into a C s-function by defining it as an int32 (see code below). How do I input boolean data with SS_BOOLEAN or SS_UINT8 type? I specified the signal data type explicitly in my Simulink model and s-function but when I defined the data as boolean or uint8, I got strange numbers instead of 1 or 0.
static void mdlInitializeSizes( SimStruct *S )
{
...
ssSetInputPortRequiredContiguous(S, 0, true);
ssSetInputPortDataType(S, 0, SS_INT32);
...
}
static void mdlOutputs( SimStruct *S, int_T tid )
{
const int *myBoolean = (const int*) ssGetInputPortSignal( S, 0 );
...
}
  1 个评论
Kaustubha Govind
Kaustubha Govind 2011-5-5
Do you also convert the corresponding input to boolean or uint8 when you change the S-function input port data? If yes, how do you achieve this conversion?

请先登录,再进行评论。

回答(0 个)

产品

Community Treasure Hunt

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

Start Hunting!

Translated by