我有一个 TLC 生成的 mexfunction,有 2 个输入和 0 个输出。输入 1 是无符号字符,输入 2 是无符号整数。
当我尝试通过以下方式获取输入值时:
unsigned char *u1 = ssGetInputPortSignal(S,0); (uint8)
unsigned int *u2 = ssGetInputPortSignal(S,1); (uint16)
mexPrintf("value1 %d\n",*u1);
mexPrintf("value2 %d\n",*u2);
为什么u2
取决于u1
?
例如:在 simulink 中输入port #1 = 2;
⇒*u1= 2;
但在simulink中输入port #2 = 1000;
⇒*u2= *u2 +(*u1*65636);
我看到这个在mexprint
..
我得到u2
的一个因素取决于第一个输入端口
我将InputPortRequiredContiguous
and设置InputPortDirectFeedThrough
为 1。