Matlab S-Function:为什么 ssGetInputPortSignal() 返回 NULL?
ssGetInputPortSignal() 返回 NULL 或 nullptr 有几个不同的原因:
- 你可能向
ssGetInputPortSignal()传递了错误的参数。典型用法是
ssgetinput_example.cpp
real_T *input = ssGetInputPortSignal(S, 0);- 输入端口可能未连接。在这种情况下,
ssGetInputPortSignal()将返回NULL或nullptr。你可以使用ssGetInputPortConnected()检查端口是否连接:
check_input_port_connected.cpp
if (!ssGetInputPortConnected(S, 0)) {
mexPrintf("Input port 0 is not connected\n");
}- 你可能在错误的地方调用
ssGetInputPortSignal()。例如,如果你在mdlInitializeSizes()或mdlOutputs()函数中调用它,它将返回NULL或nullptr。你应该在mdlStart()或mdlUpdate()函数中调用它。
Check out similar posts by category:
Matlab/Simulink
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow