完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
1、什么是EEPROM?和FLASH有什么区别?
1)就是一个存储芯片,可以按字节进行读写操作,最常用的是AT24Cxx系列,比如AT2464/C128。 本项目用的是ATC24C128,根据芯片手册描述,内存总共有131072个Bit大小,除以8就是Byte,再除以1024就是KB。 2)和Flash有什么区别?
2、单片机和EEPROM接线图 3、IIC协议 1)物理层传输 2)软件层协议 这个也是IIC协议的关键,因为大多数需要自己写程序实现。 协议主要就是控制SCL和SDL的电平变化来进行MCU和外设的数据交互,双方保持一直才能正确的进行交流。 就好比双方要确定好语言,比如都用中文的方式沟通,就能明白彼此的意思,如果一个中文一个英文,这样沟通就懵逼,跟前面RF单口通讯有点像。 软件协议时序的几个部分: 1、起始和结束时序图 结束条件:当SCL为高电平的时候,SDA线上由低到高的跳变被定义为停止条件,要注意起始和终止信号都是主机发出的。 起始和结束时序代码实现,用模拟IIC的方式 static void I2C_Start(void) { hal_I2C_SDA(1); I2C_delay(1); hal_I2C_SCL(1); I2C_delay(1); hal_I2C_SDA(0); I2C_delay(1); } static void I2C_Start(void) { hal_I2C_SDA(0); I2C_delay(1); hal_I2C_SCL(1); I2C_delay(1); hal_I2C_SDA(1); I2C_delay(1); } 2 数据有效性 IIC信号在数据传输过程中,当SCL=1高电平时,数据线SDA必须保持稳定状态,不允许有电平跳变,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平才允许变化。 前面讲了底层传输的时序意义,时序明白以后就要封装称写一个字节这种时序的函数。 这个Device_Address每个芯片是不一样的,每个容量大小也是不一样的,具体看芯片手册。 比如上图就是不同型号的EEPROM的地址定义。 未完待续。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
1795 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4765 浏览 0 评论
4246 浏览 9 评论
3836 浏览 16 评论
4412 浏览 1 评论
4232浏览 3评论
2396浏览 0评论
3410浏览 0评论
1175浏览 0评论
2860浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-7 13:33 , Processed in 0.525811 second(s), Total 43, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3133