function hex_matrix = bin2hex(bin_matrix)
L = length(bin_matrix); % 二进制数组长度
str_matrix = {}; %空元组
dec_matrix = []; %空数组
for i = 1:L
str_matrix{i} = num2str(bin_matrix(i)); % 十进制转字符串
dec_matrix(i) = bin2dec(str_matrix{i}); % 二进制转十进制
hex_matrix{i} = dec2hex(dec_matrix(i)); % 十进制转十六进制
end
end
可以用一个文件来测试其是否符合我们的要求,将一个二进制向量转化为十六进制向量,每个十六进制数表示1byte(不足1byte前面补0),并且写入txt文件中,每byte之间用空格隔开。文章来源:https://www.toymoban.com/news/detail-570551.html
clc;clear;
fid=fopen('F:\Matlab_Function\hex.txt','w'); % txt文件存储路径
bin_matrix = [10110 11101001 00001101 00001111]; % 二进制数组
hex_matrix = bin2hex(bin_matrix); % 十六进制数组
L = length(hex_matrix); % 数组中数据个数
for i = 1:L
fprintf(fid,'%02s ',hex_matrix{i}); % 逐个输出到txt文件
end
打开存储路径下的txt文件,可见符合预期需求。
使用串口助手载入txt文件,可见按照txt文件中的数据读入到串口助手的发送端口。
《源码》
以上仅为个人学习笔记,欢迎评论区探讨交流!文章来源地址https://www.toymoban.com/news/detail-570551.html
到了这里,关于MATLAB输出串口发送所需十六进制数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!