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개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

