stc32链接AT24C02存储芯片记录
本帖最后由 zhange 于 2024-5-22 06:45 编辑1楼留着:有时间了录视频
成功 代码在18楼
本帖最后由 zhange 于 2024-5-21 13:56 编辑
先看说明书
1.每个eeprom都有7位地址
注意前四位是固定的,a2 a1 a0 根据连接的io脚电平决定 最后一位是读写位。24c02有7位的地址。
说明书:
本帖最后由 zhange 于 2024-5-21 15:57 编辑
2.实验箱上的24c02连接图 可以看出这个器件的地址为1010000 发送命令的时候最后一位地址用来表示R/W,1表示R,0表示W。
看图地址脚全部接的地
本帖最后由 zhange 于 2024-5-21 16:34 编辑
3.24C02器件按8字节/页执行页写一次只能写8个字节超过的循环覆盖都是在当前页
接收到每个数据后,字地址的低3位(24C02)或4位(24C04/08/16)或5位(24C32/64)内部自动加1,高位地址位不变,维持在当前页内。当内部产生的字地址达到该页边界地址时,随后的数据将写入该页的页首。如果超过8个(24C02)或16个(24C04/08/16)或32个(24C32/64)数据传送给了EEPROM,字地址将回转到该页的首字节,先前的字节将会被覆盖。
本帖最后由 zhange 于 2024-5-21 18:39 编辑
3.总容量为2k 单位为位1k为1024位
还不会换算、。。。。。。。。。。
在计算机术语中,1千字节(Kilobyte, KB)通常是指2的10次方,即1024字节(Byte)。所以1KB = 1024 bytes。同样,1兆字节(Megabyte, MB)= 1024 KB,1吉字节(Gigabyte, GB)= 1024 MB,以此类推。请注意,有时候,特别是在硬盘容量的标注中,可能会采用另一个定义,即1KB = 1000 bytes(这就是常说的"千"进制的KB,但这是非标准的)。但在计算机科学的标准定义中,1K始终等于1024 bytes。
4.用电的东西为啥都叫电气特性???
24c02为2048bit为256byte soma 发表于 2024-5-21 17:12
24c02为2048bit为256byte
谢了刚看到 本帖最后由 zhange 于 2024-5-21 20:05 编辑
5.起始信号
数据和时钟线都为高则称总线处在空闲状态。当SCL为高电平时SDA的下降沿(高到低叫做起始条件(START,简写为S),SDA的上升沿(低到高)则叫做停止条件(STOP,简写为P)。
函数书写 注意这样写不行看下边
void iicStart(void) //开始
{
SCL = 1;
SDA = 1;
Delay2us();
SDA = 0;
Delay2us();
}
void iicStop(void) //结束
{
SCL = 1;
SDA = 0;
Delay2us();
SDA = 1;
Delay2us();
}
按照手册写的启动停止竟然不行,得按照stc32单片机iic协议写
void iicStart(void) //开始
{
SCL = 1;
SDA = 1;
Delay2us();
SDA = 0;
Delay2us();
SCL = 0;
Delay2us();
}
void iicStop(void) //结束
{
SCL = 0;
SDA = 0;
Delay2us();
SCL = 1;
Delay2us();
SDA = 1;
Delay2us();
}
soma 发表于 2024-5-21 17:12
24c02为2048bit为256byte
老哥问下6楼的那个图写周期啥意思???看不懂了
页:
[1]
2