Defining Matlab function datatype input in Simulink
2 ビュー (過去 30 日間)
古いコメントを表示
Hello,
I have a problem to compile model with following part:
function [delayed_flag, counter] = delayed_flag(flag, counter_default, counter_prev)
if flag == true
if counter_prev == 0
delayed_flag = true;
counter = uint16(0);
else
delayed_flag = false;
counter = counter_prev - uint16(1);
end
else
delayed_flag = false;
counter = counter_default;
end
end
The problem seems to be that the 'counter_prev' input is treated as double, and I dont know how to force it to be uint16.
(Error: Data type mismatch. Output port 1 of 'xxx/Unit Delay2' is a signal of data type 'uint16'. However, it is driving a signal of data type 'double'.)
Thank your for help,
Vlasta
0 件のコメント
採用された回答
Fangjun Jiang
2019 年 7 月 11 日
In the MATLAB Funciton editor, click icon "Edit Data".
Or in Simulink, Ctrl+H to open Model Explorer, on the left column, navigate to the MATLAB function, find your data and specify the data type.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Simulink Functions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!