获取进入输入端口的连续实信号的地址
const real_T *ssGetInputPortRealSignal(SimStruct *S, int_T inputPortIdx)
年代
表示s -功能块的SimStruct。
inputPortIdx
需要信号的端口索引。
一个指针(real_T *
)转换为由索引指定的输入端口上的实信号inputPortIdx
.
用于获取特定输入端口上的真实信号。只有当输入信号是实数且已知时,方法才应该使用这个宏mdlInitializeSizes
已指定输入信号的元素是连续的,使用ssSetInputPortRequiredContiguous
.
的ssGetInputPortRealSignal
当您在调试模式下编译S-function时,宏将成为一个函数(墨西哥人- g
).
C, c++
下面的代码演示了使用ssGetInputPortRealSignal
.
设置标志要求输入端口是连续的:
void mdlinitializesize (SimStruct* S) {int_T i;/*剪切*/ if (!ssSetNumInputPorts(S,2))返回;For (i = 0;我< 2;i++){/*剪切*/ ssSetInputPortDirectFeedThrough(S,i,1);ssSetInputPortRequiredContiguous(年代,我,1);} /*剪切*/}
您现在可以使用ssGetInputPortRealSignal
在mdlOutputs
:
void mdlOutputs(SimStruct* S, int_T tid) {int_T i;/*剪切*/ for (i = 0;我< 2;i++) {int_T nu = ssgetinputporttwidth (S,i);const real_T* u = ssGetInputPortRealSignal(S,i);UseInputVectorInSomeFunction (u,ν);} /*剪切*/}
看到这个功能sfun_frmdft.c
中使用的sfcndemo_frame
下面是使用此函数的完整示例。运行此模型需要DSP系统工具箱™许可证。