您的位置 首页 解答

嵌入式体系中十六进制数据在PC上的效果

嵌入式系统中十六进制数据在PC上的作用-嵌入式系统通过串口向PC发送的数据往往是16进制数,但是我们直观的比较数据则是用10进制的形式,这就需要将16进制数转化成10进制数。

嵌入式体系经过串口向PC发送的数据往往是16进制数,可是咱们直观的比较数据则是用10进制的方式,这就需求将16进制数转化成10进制数。嵌入式体系经过串口调试帮手将收集的数据发送至PC后,一般先保存成TXT文档。此刻的第一个问题便是怎么经过Matlab读取TXT文件的值。

Matlab的textread函数就能够完成该功用,当然用fopen也能够,但textread 比较简单。其间textread的运用能够参阅help文档。读取txt文件后,就需求将16进制的数据转化成10进制了,此刻需求用到Matlab的别的一个函数hex2dec(a),这个函数的详细用法也见help。

嵌入式体系中十六进制数据在PC上的效果

下面便是读取二进制txt文件的比如:

假设txt文档中内容为0001 0010 0011 0100 1000,保存在pin.txt文档中,运用a=textread('pin.txt','%s')',a ='0001' '0010' '0011' '0100' '1000'。

嵌入式体系中十六进制数据在PC上的效果

能够看到数据保存为了char格局。运用bin2dec,b=bin2dec(a)',b =1 2 3 4 8,能够看到成功地转化成了十进制文件。十六进制文件:0001 0010 0011 0100 1000 A B C AA,a=textread('pin.txt','%s')',a ='0001' '0010' '0011' '0100' '1000' 'A' 'B' 'C' 'AA',能够看到成功读取了文件。

b=hex2dec(a)',b =1 16 17 256 4096 10 11 12 170,读取结束。将16进制数据转化成10进制后还需求将数据进行保存。此刻要用到Matlab的dlmwrite函数,输入dlmwrite('c:\b.txt',b,'delimiter', ' '),就能够将得出数据存入新的b.txt文档。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/98254.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部