2级c-mex函数输入返回错误值

时间:2015-06-10 17:37:42

标签: c++ matlab simulink mex s-function

我有一个TLC生成的mexfunction,有2个输入和0个输出。 input 1是unsigned char,input 2是unsigned int。

当我尝试使用以下内容获取输入值时

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的因素取决于第一个输入端口

我将InputPortRequiredContiguousInputPortDirectFeedThrough设置为1。

0 个答案:

没有答案