Es gibt mehrere verschiedene Gründe, warum ssGetInputPortSignal() NULL oder nullptr zurückgibt:
- Du könntest 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. Du kannst 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");
}- Du rufst
ssGetInputPortSignal()möglicherweise am falschen Ort auf. Wenn du es beispielsweise in den FunktionenmdlInitializeSizes()odermdlOutputs()aufrufst, wird esNULLodernullptrzurückgeben. Du solltest es stattdessen in den FunktionenmdlStart()odermdlUpdate()aufrufen.
Ähnliche Beiträge nach Kategorie:
Matlab/Simulink
Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen