how can i convert decimal to hex in simulink?
75 ビュー (過去 30 日間)
古いコメントを表示
Hello everybody,
I wanted to convert a decimal value into HEX in Simulink using a matlab function. Unfortunately I get an error: Data 'y' (# 115) is inferred as a variable size matrix, while its specified type is something else. Can someone help please?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/205445/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/205446/image.png)
1 件のコメント
回答 (1 件)
Walter Roberson
2019 年 2 月 22 日
dec2hex() produces a character vector result. Character vectors cannot be carried as signals in Simulink. The closest you can get is to take send the codes for the characters and char() that later when you need to convert back to text.
y = dec2hex(u) + 0;
You should also be concerned about the signal length: dec2hex produces variable length output.
You might want to consider
y = uint8(dec2hex(u, 16) - '0');
changing the 16 to the number of digits appropriate for the situation.
3 件のコメント
参考
カテゴリ
Help Center および File Exchange で String についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!