How to input a boolean to a C s-function

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 件)

製品

質問済み:

2011 年 5 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by