• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

MATLAB输出串口发送所需十六进制数据

武飞扬头像
锅巴不加盐
帮助1

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之间用空格隔开。

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,'s ',hex_matrix{i}); % 逐个输出到txt文件
end

  打开存储路径下的txt文件,可见符合预期需求。
学新通
  使用串口助手载入txt文件,可见按照txt文件中的数据读入到串口助手的发送端口。
学新通
《源码》
以上仅为个人学习笔记,欢迎评论区探讨交流!

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgakhea
系列文章
更多 icon
同类精品
更多 icon
继续加载