Simulink ADD block keeps returning 255
조회 수: 4 (최근 30일)
이전 댓글 표시
So I have two inputs 'Pre-State' and 'Pre-Status'. The values going into the ADD block are '1' and '0' respectively, yet for some reason the ADD block keeps returning 255.
The ADD block is setup so that 'Pre-Status' is subtracting 'Pre-State'. So in theory, the output should be -1. Yet it keeps giving 255 for some reason.
댓글 수: 1
Fangjun Jiang
2022년 12월 12일
Some settings are not right. You have to show it. I guess it is the data type of the output and the saturation flag.
답변 (1개)
Andy Bartlett
2022년 12월 13일
My guess is that Sum block's output data type is uint8, and the block is configured to wrap on integer overflows.
So the output would be module 2^8 of the "ideal output result".
idealOutput = -1
actualOutput = mod(idealOutput, 256)
We could also test this theory with Fixed-Point Designer fi objects.
nt = numerictype('uint8')
fiOutput = fi( idealOutput, nt, 'OverflowAction', 'Wrap', 'RoundingMethod', 'Floor')
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 String에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!