at24C256只能存2551个字节可以存几个汉字吗,如何换下一页

解读AT24C256存储器芯片课程介绍

用实践檢验技术问题用实践发现错误认知。本节目不是严谨的测试和实验仅是个别样本的分享。

解读AT24C256存储器芯片该课程被包含在以下专栏中

解读AT24C256存储器芯片专栏课程

解读AT24C256存储器芯片推荐课程


解读AT24C256存储器芯片课程评论


0
0
0
0
0

下面介绍我做的几个实验:

一、軟件模拟i2c实验

1、在ministm32开发板软件模拟i2c协议读写at24c02没有问题也就是正点原子官方给的例子

b)将正点原子i2c实验的程序中EE_TYPE改成AT24C256,发现逻辑分析仪还昰抓不到波形按道理软件GPIO模拟i2c时序,比如对于读操作,先要一个起始信号发送从设备地址,发送需要读eeprom的地址再接收需要读的数據(此时GPIO为输入模式),再发送停止信号GPIO上的对应端口是有电压变化的,是应该可以抓到波形的但却没抓到,那就应该分析GPIO端口配置昰否有问题对于stm32f1xx看寄存器GPIOX_CRL、GPIOX_CRH、AFIO。由于stm32f1xx有5组GPIO(A- E)每组16个端口(PX0-PX15),所以会有高低两个寄存器来配置这16个端口的上下拉输入输出模式;對于AFIO,由于AFIO默认值是0故如果选择的是使用默认复用端口,则不用配置下面会介绍。

at24c256的设备地址datasheet写的是MSB-》LSB:1 0 1 0 0 A1 A2 R/W对于实验设置A1、A2为0,那么設备地址应该为0xA0,怎么会变成0x50而0x50正好是右移一位的结果,这是想到了逻辑分析仪i2c设置的参数选择了7-bit address bits only,所以抓出来是0x50改过来就正确了,這个不影响抓到的数据

对于读数据不对问题,仔细研读了软件模拟i2c时序发现发送读写地址是一个16bit的数据,对照datasheet发现也是要求16bit地址将8bit哋址改成16bit地址之后发现写读数据比对通过。

2、在Xnueleo开发板用st公司的例子做修改(上面)将其解压放在en.stm32cubef4 double了代码没有问题,然后检查两个开发板之间和i2c通信模块at24c256的连接上发现除了VCC有点差别其他无,这是重点在VCC上了一个是3.3v一个是E5V,发现at24c256电压范围是2.7-5.5v说明不是压值问题,然后仔細看Xncleo板子的E5V将其连接到下载器的5v上,这肯定有电压发现读写正常了,然后咨询并看了原理图说明书发现E5V是外部电压,不是产生5v电压真相终于大白,竟然是这么二的问题。这也提醒一定要仔细看手册。

我要回帖

更多关于 1个字节可以存几个汉字 的文章

 

随机推荐