Matlab S-Function: Warum gibt ssGetInputPortSignal() NULL zurück?
Es gibt mehrere verschiedene Gründe, warum ssGetInputPortSignal() NULL oder nullptr zurückgibt:
- Sie könnten falsche Parameter an
ssGetInputPortSignal()übergeben. Eine typische Verwendung wäre
ssgetinput_example.cpp
real_T *input = ssGetInputPortSignal(S, 0);- Der Eingabe-Port könnte nicht verbunden sein. In diesem Fall wird
ssGetInputPortSignal()NULLodernullptrzurückgeben. Sie können prüfen, ob der Port verbunden ist, mitssGetInputPortConnected():
check_input_port_connected.cpp
if (!ssGetInputPortConnected(S, 0)) {
mexPrintf("Input port 0 is not connected\n");
}- Sie rufen
ssGetInputPortSignal()möglicherweise am falschen Ort auf. Wenn Sie es beispielsweise in den FunktionenmdlInitializeSizes()odermdlOutputs()aufrufen, wird esNULLodernullptrzurückgeben. Sie sollten es stattdessen in den FunktionenmdlStart()odermdlUpdate()aufrufen.
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