usb传输时的数据格式处理(十进制 十六进制的转换)

因为使用usb和单片机进行数据交互时,需要使用纯二进制文件,如果单纯发送txt文件,读进去的就是改文件的ascii码数值。

1.怎样将excel的十进制数据转换成纯二进制文件

打开excel,复制想要的数据,最好是一列:

打开16进制编辑器:(我用的是hex editor neo)

首先调整数据格式为10进制,数据位数根据自己想要的设成byte(8位),words(16位),double words(32位):

 然后将光标放在第一个位置,或者点击ctrl all,将数据复制到编辑器当中,然后将点击上面的view,选择display as 的16进制,选择columns的自定义,选择展示两列数据(最少好像就是两列,针对这个编辑器来说)

 这样就生成纯二进制文件,上位机直接发送改文件,收到的就是这样顺序排列的数据了

2.将上面的数据,转化为coe文件,可以在仿真时,放在rom当中使用(针对vivado)

在excel里面打开一列数据,全部选中,右击选择设置单元格式,然后在数字,自定义里面,选择@,然后在后面加一个逗号

 然后在加两行,在最前面写上:

memory_initialization_radix=10;
memory_initialization_vector=

然后再新建一个文本文件,将后缀改成coe,就可以了:

 

3.excel里面怎样将一列数乘以一个数(主要是用于将小数转化为整数)

在空白单元格处,写入想要乘的数据,然后复制改单元格:

 然后选中想要乘的数据,右键选择 选择性粘贴:

 如果说最后结果下面产生了很多行的0,就可以在左上角输入,想要删除的行(例如:  270443:1048576),然后点击回车,就会选中这些行了,然后点击删除就行,但是空行可能删除不掉,就可以点击ctrl all,复制所有数据,再打开一张表格,粘贴就好了,就没有空格了。

4.怎么将excel的两列数据,变成一列,按照“Z”型排列(主要是编辑器复制过来的数据是两列):

首先,上面从编辑器复制过来的数据,是在一列里面,所以要先分列,点击数据,然后点击分列,再点击智能分列,或者按照数据特点,根据空格,小数点,位宽等都可以:

 然后点击分好之后的两列数据,复制之后,新建一个空白word文档,点击粘贴:

然后点击整个表格之后,点击插入,选择表格,就有个表格转文本,然后点击段落,然后点击确定之后,就可以看到数据都变成一列了,然后复制所有到excel里面,就变成一列数据了:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值