野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9404|回复: 6

I2C 按页传输问题

[复制链接]
发表于 2017-10-29 15:17:33 | 显示全部楼层 |阅读模式
本帖最后由 ly199404029 于 2017-10-29 15:18 编辑

我想求问下,为什么除了基本的按页传输外,还需要考虑首地址,
那个count值是做什么用的???C:\Users\asus\Desktop\IMG20171029150704.jpg

IMG20171029150652.jpg
IMG20171029150704.jpg
回复

使用道具 举报

发表于 2017-10-30 09:06:03 | 显示全部楼层
就是看是不是8字节 对齐
回复 支持 反对

使用道具 举报

发表于 2017-10-30 10:04:42 | 显示全部楼层
可以参考我在mini开发板讲解的方式,更好理解,ee_WRITE_BYTES函数:
读写I2C.zip (328.13 KB, 下载次数: 41)
回复 支持 反对

使用道具 举报

发表于 2017-11-15 12:46:02 | 显示全部楼层
发帖人应该已经解决了吧。我说下我的理解
关于初始写入地址和页写入地址对齐的程序段应该很好理解。我说下不对齐的情况,如下:
1、先计算出从一页的第几个字节(例如为x)开始写 addr = WriteNum / PageSize
2、再计算从 x字节到该页尾,需要写几个字节 count = PageSize - addr;
3、写完上述非完整的第一页后,再计算剩余字节(WriteNum -= count)能写多少页(例如为y),写完y字节后,还剩多少字节(例如为z)
y: Num_Page = WriteNum  / PageSize;
z:Num_Single = WriteNum % PageSize;
把y, z按页写方式写入就可以了。

so easy!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-16 10:06:08 | 显示全部楼层
flyleaf 发表于 2017-10-30 10:04
可以参考我在mini开发板讲解的方式,更好理解,ee_WRITE_BYTES函数:

谢谢大神!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-16 10:06:48 | 显示全部楼层
明月当空照无眠 发表于 2017-11-15 12:46
发帖人应该已经解决了吧。我说下我的理解
关于初始写入地址和页写入地址对齐的程序段应该很好理解。我说下 ...

我感觉我应该在戳莫一下
回复 支持 反对

使用道具 举报

发表于 2017-11-18 12:07:17 | 显示全部楼层
新手  路过
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-10-5 18:28 , Processed in 0.057689 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表