你好,
我猜你正在试图做一个作业在MATLAB函数块?
我问,因为我从未经历过任何问题当试图分配fixdt(0 8 0)信号(s)使用“适当的”仿真软件模块。金宝app
如果是这样的话,那么下面让我们假设你有一个在仿真软件MATLAB函数模型:金宝app
函数fcn
全球cfg_rw_vref_mu_coarse
cfg_rw_vref_mu_coarse = fi (255 0 8,0);
让我们假设你已宣布
cfg_rw_vref_mu_coarse
作为仿金宝app真软件信号对象:
cfg_rw_vref_mu_coarse = 金宝appSimulink.Signal;
cfg_rw_vref_mu_coarse。数据类型=' fixdt (0 8 0) ';
cfg_rw_vref_mu_coarse。尺寸= 1;
cfg_rw_vref_mu_coarse。复杂性=“真实”的;
现在,尝试运行这个模型将失败有以下错误:
这作业写的嵌入。fi{uint8}' value into a 'uint8' type. Code generation does not support changing types through assignment. Check preceding assignments or input type specifications for type mismatches. Function 'MATLAB Function' (#24.44.65)、线5、列1:“cfg_rw_vref_mu_coarse”发布诊断报告。
组件:MATLAB函数|类别:编码器误差
错误发生在MATLAB函数的解析“测试/ MATLAB函数”
组件:MATLAB函数|类别:编码器误差
错误发生在MATLAB函数的解析“测试/ MATLAB函数”
组件:仿真软件|类别金宝app:模型误差
为了解决这个问题,必须使用
下标引用符号
:
函数fcn
全球cfg_rw_vref_mu_coarse
cfg_rw_vref_mu_coarse (,) = fi (255 0 8,0);
注意括号内的结肠(例如(:))!另外,由于这一个标量信号,我们可以使用(1),而不是(:)。
可以找到更多信息订阅引用符号的小节
下标赋值
在以下链接这就解释了为什么这种可以减少传播问题和呈现更多的控制:
顺便说一下,这只有当试图分配
金宝app仿真软件。NumericType的对象
8、16、32或64位,转换成uint8, uint16, uint32 uint64分别时
下标赋值
没有使用
。
我希望这有助于:)