SDcard开发笔记--读取SD卡ManufactDate(制造商生产日期)

printf("ManufactDate:0x%04x",SDCardInfo.SD_cid.ManufactDate);
//串口打印信息为  ManufactDate:0x0146

printf("ManufactDate:%d",SDCardInfo.SD_cid.ManufactDate);
//串口打印信息为  ManufactDate:326

printf("ManufactDate:[%d.%d]\n", (uint8_t)(SDCardInfo.SD_cid.ManufactDate>>4), (uint8_t)(SDCardInfo.SD_cid.ManufactDate&0x0F));
//串口打印信息为  ManufactDate:[20.6]

ManufactDate是一个unsigned short 类型 0x0146 十进制为326。

如何将它转换成对应的年月日:

● MDT

制造日期由两个 16 进制数组成,一个是 8bit 的年(y),一个是 4bit 的月(m)。

m = bit [ 11 :   8  ],1 =   1 = 1 月

y  = bit [ 19 : 12  ],0 = 00 = 2000 年

比如 2001 年 4 月,MDT=0b 0000 0000 0001 0100

所以0x0146  MDT= 0b 0000 0001 0100 0110  也就是2020年6月

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值