打印

EEPROM-AT24C02存储小数

[复制链接]
315|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
哈金|  楼主 | 2019-11-28 20:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

最近在学习EEPROM,关于光盘里AT24C02存储小数部分,有点疑问:.......



long double cal_p[6]    ={0.1, 1.1, 3.1, 4.02, 6.3, 0.01};

long double cal_test[6]={0};



.......

I2C_EE_BufferWrite((void*)cal_p, 1, sizeof(cal_p));



.......

I2C_EE_BufferRead((void*)cal_test, 1, sizeof(cal_test));

for( k=0; k<6; k++ )

    printf("%LF\r\n", cal_test[k]);





1、在调用I2C_EE_BufferWrite,I2C_EE_BufferRead这两个函数,感觉有点迷糊,这两个函数

里第一个形参都是整形的(u8),这里调用的时候是强制转换为(void*)cal_p;

2、I2C_EE_BufferRead((void*)cal_test, 1, sizeof(cal_test));从EEPROM里读出来的肯定是sizeof(cal_test)

个字节数,怎么就还原成了浮点数?打个比方,0.1占4个字节,保存进入肯定是占4个地址,读出来那也

肯定是4个数,怎么就还原成0.1了?





关于这部分,希望能详细给大家讲讲,谢谢哈!!

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

432

主题

433

帖子

1

粉丝