打印
[STM32F1]

I2C 读写问题 24ATC64

[复制链接]
1481|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
glj1988|  楼主 | 2016-8-11 18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
打个比方我想在0x1234地址里面 写入2345,然后再把这个数给读出来, 如何弄啊?网上的都是读出一个字节! 我已经洪荒之力了啊!跪求大神们帮助
沙发
dentsgot| | 2016-8-11 21:07 | 只看该作者
你可以连续读两次啊

使用特权

评论回复
板凳
mmuuss586| | 2016-8-11 21:11 | 只看该作者
拆分成2个字节读写就可以饿了

使用特权

评论回复
地板
glj1988|  楼主 | 2016-8-12 08:29 | 只看该作者
mmuuss586 发表于 2016-8-11 21:11
拆分成2个字节读写就可以饿了

如何拆写?打个比方如何将1234写入E2PROM的456地址里,然后再从456地址里把1234整个字给读出来?

使用特权

评论回复
5
MOn51| | 2016-8-12 08:47 | 只看该作者
1234 是要2个字节(16位  0X4D2   分成高8位,低8位)的。必须放在456,457, 2个字节地址空间里。不是学计算机,自控。。。专业的,最好不要在这里发。

使用特权

评论回复
6
glj1988|  楼主 | 2016-8-12 08:56 | 只看该作者
MOn51 发表于 2016-8-12 08:47
1234 是要2个字节(16位  0X4D2   分成高8位,低8位)的。必须放在456,457, 2个字节地址空间里。不是学计 ...

我知道要分高低字节的啊,具体如何操作呢?如何将一个字写入到456地址里,然后又如何将1234从456地址里读出来啊?求详解!谢谢啦

使用特权

评论回复
7
MOn51| | 2016-8-12 10:27 | 只看该作者
举例:单字节写入  WR_ONE_BYTE(0X456,0X04);  WR_ONE_BYTE(0X457,0XD2);  
连续写入:
unsigned short EE_Adr ,buf;

EE_Adr=456; buf=1234;

Wr_Buff_Byte(EE_Adr,(unsigned char *)&buf,sizeof(buf));

使用特权

评论回复
8
waiter| | 2016-8-12 11:30 | 只看该作者
写24ATC64的话,要注意它的page大小吧? 不能随便写的吧?

使用特权

评论回复
9
冰零分子| | 2016-8-12 12:37 | 只看该作者
本帖最后由 冰零分子 于 2016-8-12 12:40 编辑
glj1988 发表于 2016-8-12 08:56
我知道要分高低字节的啊,具体如何操作呢?如何将一个字写入到456地址里,然后又如何将1234从456地址里读 ...

写可以用:
                I2C_WRITE(456,1234/0x100);
                I2C_WRITE(457,1234%0x100);
读:
        m_buf = I2C_READ(456);
        m_buf += (unsigned int)I2C_READ(457)*0x100;

使用特权

评论回复
10
E-Kaia| | 2016-8-12 17:39 | 只看该作者
一个字节一个字节的往里面写就可以了

使用特权

评论回复
11
sourceInsight| | 2016-8-13 16:43 | 只看该作者
应该可以进行拆分,楼主试过了吗?

使用特权

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

本版积分规则

6

主题

16

帖子

0

粉丝