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?
How to input a boolean to a C s-function
5 次查看(过去 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 );
...
}
回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!