向SD卡中写入时,数据类型必须是u8么?

2019-08-13 20:24发布

如果我的数据是u16的,需要转换成两个u8?
有没有什么办法,能够直接向SD卡中写入u16类型的数据?
谢谢指点。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
siberianfox
1楼-- · 2019-08-13 21:41
数据都是以字节形式保存的,用fatfs系统的时候写入时,数据是拆成字符串的形式再写入的,数字,字母都是以ASCII编码来存储。例如100,就是用3个字节来存储的,对应1 0 0的ASCII编码
帅帅的于
2楼-- · 2019-08-13 22:57
顶顶顶。。。
帅帅的于
3楼-- · 2019-08-14 01:56
siberianfox 发表于 2017-10-11 20:16
数据都是以字节形式保存的,用fatfs系统的时候写入时,数据是拆成字符串的形式再写入的,数字,字母都是以A ...

我之前就是这么做的,但是觉得占得字节太多了,现在在想办法减少占的字节数,请问能用除ascii码以为的形式存储么?
siberianfox
4楼-- · 2019-08-14 06:15
 精彩回答 2  元偷偷看……
帅帅的于
5楼-- · 2019-08-14 07:55
siberianfox 发表于 2017-10-12 09:36
数据怎么保存都可以,u8保存就一定得是一个字节,u16就一定得两个字节,关键是你是以什么方式读出来,如 ...

我是用电脑读取,刚开始就是向您说的那样把数据转化成ASCII码,但是后来觉得占得字节太多了,例如u16类型数据我就要用五个字节来装,现在我是想在办法降低这个字节数,例如u16类型数据我用两个字节装,u8类型数据我就用一个字节装。您有什么办法么?
siberianfox
6楼-- · 2019-08-14 11:47
本帖最后由 siberianfox 于 2017-10-12 16:24 编辑

你没理解清楚。你可以直接把u8用一个字节保存到SD卡,u16用两个字节保存到SD卡,直接保存就行了。关键关键是保存之后你要考虑上位机怎么读取出来,怎么显示啊,不管数据是什么,上位机只会按自己的编码来读取显示对吧。
打个比方,你要存储一个u8,例如数值为100,那么对应二进制是0x64。你把100存进去也就是0x64存进去,然后在记事本打开得到什么,是按ascii编码显示的字母"d",但是你知道这个d就是0x64吧?就是对应的十进制数值100吧,这是不是已经做到你要的要求?
关键是显示,存储之后你要怎么显示出来,如果你非要让电脑读取到0x64就显示100,那就只能自己写个上位机咯。

一周热门 更多>