Hay varias razones diferentes por las que ssGetInputPortSignal() devuelve NULL o nullptr:
- Podrías estar pasando parámetros incorrectos a
ssGetInputPortSignal(). Un uso típico sería
ssgetinput_example.cpp
real_T *input = ssGetInputPortSignal(S, 0);- El puerto de entrada podría no estar conectado. En este caso,
ssGetInputPortSignal()devolveráNULLonullptr. Puedes verificar si el puerto está conectado usandossGetInputPortConnected():
check_input_port_connected.cpp
if (!ssGetInputPortConnected(S, 0)) {
mexPrintf("Input port 0 is not connected\n");
}- Podrías estar llamando
ssGetInputPortSignal()en el lugar equivocado. Por ejemplo, si lo llamas en las funcionesmdlInitializeSizes()omdlOutputs(), devolveráNULLonullptr. Deberías llamarlo en las funcionesmdlStart()omdlUpdate()en su lugar.
Echa un vistazo a artículos similares por categoría:
Matlab/Simulink
Si este artículo te ha ayudado, considera invitarme a un café o hacer una donación vía PayPal para apoyar la investigación y publicación de nuevos artículos en TechOverflow