eeprom 订阅
EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。 展开全文
EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。
信息
外文名
Electrically Erasable Programmable read only memory
分    类
读写存储器
用    途
编程
中文名
EEPROM
EEPROM发展
EEPROM(带电可擦可编程只读存储器)是用户可更改的只读存储器 (ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候可频繁地反复编程,因此EEPROM的寿命是一个很重要的设计考虑参数。EEPROM是一种特殊形式的闪存,其应用通常是个人电脑中的电压来擦写和重编程 [1]  。
收起全文
精华内容
参与话题
问答
  • /**********************************************************...* 文件名称: eeprom.c * 摘 要: 对EEPROM某个扇区进行读、写和擦除,并发送到串口 UART=9600 8位数据 CRYSTAL=18.432 TIMER_MODE=12T (E
    /************************************************************************************
    *
    * 文件名称: eeprom.c 
    
    
    * 摘 要:    对EEPROM某个扇区进行读、写和擦除,并发送到串口
    			 UART=9600 8位数据 CRYSTAL=18.432 TIMER_MODE=12T
    			 (EEPROM就是DATA FLASH,擦除只能按扇区,读写可以按字节,字节为0XFF时才可以写)
    
    
    * CPU芯片:  STC12C5A16S2	  instruction mode:1T
    * 作 者:	 XCY
    * 修改日期: 2012年3月27日
    *
    *************************************************************************************/
    
    #include <reg52.h>
    #include <intrins.h>
    
    
    typedef unsigned char 	BYTE;
    typedef unsigned int 	WORD;
    
    
    sfr AUXR = 0x8e;
    sfr S2CON = 0x9a;
    sfr S2BUF = 0x9b;
    sfr BRT = 0x9c;
    sfr IAP_DATA = 0XC2;
    sfr IAP_ADDRH = 0XC3;
    sfr IAP_ADDRL = 0XC4;
    sfr IAP_CMD = 0XC5;
    sfr IAP_TRIG = 0XC6;
    sfr IAP_CONTR = 0XC7;
    
    
    #define CMD_IDLE 	0
    #define CMD_READ 	1
    #define CMD_PROGRAM 2
    #define CMD_ERASE 	3
    #define BAUDBRT 0
    #define TIMER1 1
    #define S2RI 0X01
    #define S2TI 0x02
    
    
    //config
    #define IAP_ADDRESS 0x0000
    //const float code CRYSTAL = 18.432;
    #define CRYSTAL	18.432
    #define BAUDRATE_GENERATOR BAUDBRT
    #define UART 2
    #define ENABLE_IAP 0X82//sysclk<20m
    
    
    void InitUART1(void);	//串口1初始化 使用定时器1作为波特率发生器
    void InitUART1BRT(void);//串口1初始化 使用独立波特率发生器
    void InitUART2(void);	//串口2初始化 必须使用独立波特率发生器
    void Uart1Sendbyte(BYTE c);
    void Uart2Sendbyte(BYTE c);
    void IapIdle();
    BYTE IapReadByte(WORD addr);
    void IapProgramByte(WORD addr, BYTE dat);
    void IapEraseSector(WORD addr);
    
    
    BYTE data global_c,global_d;
    void delay10ms(void)   //误差 -0.054253472222us
    {
        unsigned char a,b,c;
        for(c=4;c>0;c--)
            for(b=52;b>0;b--)
                for(a=220;a>0;a--);
        _nop_();  //if Keil,require use intrins.h
    }
    void main()
    {
    	WORD data i;
    	BYTE data c;
    
    
    #if UART == 1 && BAUDRATE_GENERATOR == TIMER1 	//串口1 定时器1
    	InitUART1();
    #elif UART == 1 && BAUDRATE_GENERATOR == BAUDBRT 	//串口1 独立波特率
    	InitUART1BRT();
    #elif UART == 2								 //串口2 只能使用独立波特率
    	InitUART2();
    #endif
    
    
    	//IapEraseSector(IAP_ADDRESS);	  //erase
    
    
    	//for(i = 0; i < 512; i++)  //check all byte is 0xff
    		//if(IapReadByte(IAP_ADDRESS+i) != 0xff)
    		//	goto Error;
    
    
    //	for(i = 0; i < 512; i++)  //write
    	//	IapProgramByte(IAP_ADDRESS+i,(BYTE)i);
    
    
    	for(i = 0; i < 512; i++)  //read
    	{
    		c = IapReadByte(IAP_ADDRESS+i);
    		Uart2Sendbyte(c);		  //send
    		if(c != (BYTE)i)
    			goto Error;
    	}
    	P2 = 0xfe;
    	while(1);
    Error:
    	P1 = 0xdf;
    	while(1);
    	 
    }
    					 
    void InitUART1(void)	//串口1初始化 使用定时器1作为波特率发生器
    {
    //9600bps timer mode:12T 8位数据
    	PCON &= 0x7f;
        TMOD = TMOD & 0x0f;
    	TMOD = TMOD | 0x20;
        SCON = 0x50;
     
    #if CRYSTAL == 18.432
    	TH1 = 0xFB;	
    #elif CRYSTAL == 11.0592
        TH1 = 0xFD;
    #endif
    	TL1 = TH1;
    	AUXR &= 0xbf;
    	AUXR &= 0xfe;
    	ET1 = 0;
    	EA = 1;
        ES = 1;
        TR1 = 1;
    }
    
    
    void InitUART1BRT()		
    {	
    	//9600bps	timer mode:12T 8位数据
    	PCON &= 0x7f;		//波特率不倍速
    	SCON = 0x50;		//8位数据,可变波特率
    #if CRYSTAL == 18.432
    	BRT = 0xFB;		//设定独立波特率发生器重装值
    #elif CRYSTAL == 11.0592
    	BRT = 0xFD;
    #endif
    	AUXR &= 0xfb;		//独立波特率发生器时钟为Fosc/12,即12T
    	AUXR |= 0x01;		//串口1选择独立波特率发生器为波特率发生器
    	AUXR |= 0x10;		//启动独立波特率发生器
    	EA = 1;
        ES = 1;
    }
    
    
    void InitUART2()	//串口2初始化 必须使用独立波特率发生器  
    {
    	//9600bps	timer mode:12T	8位数据
    	AUXR &= 0xf7;		//波特率不倍速
    	S2CON = 0x50;		//8位数据,可变波特率
    #if CRYSTAL == 18.432
    	BRT = 0xfb;		   //设定独立波特率发生器重装值
    #elif CRYSTAL == 11.0592
    	BRT = 0Xfd;		   //设定独立波特率发生器重装值
    #endif
    	AUXR &= 0xfb;		//独立波特率发生器时钟为Fosc/12,即12T
    	AUXR |= 0x10;		//启动独立波特率发生器
    	EA = 1;
        ES = 1;
    }
    
    
    void Uart1Sendbyte(BYTE c)
    {
    	SBUF = c;
    	while(!TI);
    	TI = 0;
    }
    
    
    void Uart2Sendbyte(BYTE c)
    {
    	S2BUF = c;
    	while(!(S2CON & S2TI));
    	S2CON &= 0XFD;
    }
    
    
    void Uart1_Int() interrupt 4 using 1 //using 1:使用第一组寄存器
    //(对于同级中断,用同样的寄存器组,因为不会中断嵌套,就不会出问题;
    //对于不同级别的中断,一定不能使用同组寄存器,嵌套可能改变寄存器的值,引起错误)
    {
    	if(RI)	//串口每接收完1帧,硬件置1 RI,请求中断。
    	{	 	//(其实就是请求把RI置0并且取走数据,不然还能干什么呢?
    			//当然你可以加入自己想要的功能在里面)
    		global_c = SBUF;
    		SBUF = global_c;
    		RI = 0;			
    		
    	}
    	else TI = 0; 		
    }
    
    
    void Uart2_Int() interrupt 8 using 1
    {
    	if(S2CON&S2RI)
    	{
    		S2CON &= 0XFE;
    		global_d = S2BUF;
    		SBUF  = global_d; 
    	}
    	else S2CON &= 0XFD;
    }
    
    
    void IapIdle()
    {
    	IAP_CONTR &= 0X7F;  //DISABLE IAP FUNCTION
    	IAP_CMD = 0;
    	IAP_TRIG = 0;		//CLEAR TRIG REGESTER
    	IAP_ADDRH = 0X2000;
    	IAP_ADDRL = 0;
    }
    
    
    BYTE IapReadByte(WORD addr)
    {
    	BYTE dat;
    
    
    	IAP_CONTR = ENABLE_IAP;	//使能IAP功能
    	IAP_CMD = CMD_READ;		//说明是读还是写还是擦除
    	IAP_ADDRL = addr;		//给定要操作的扇区地址
    	IAP_ADDRH = addr>>8;
    	IAP_TRIG = 0X5A;        //IAP触发开关 先送5A后送A5才能触发,IAP命令才能生效 每次读写都要重新送值
    	IAP_TRIG = 0XA5;
    	_nop_();				//延时,等待读取
    	dat = IAP_DATA;			//将读取的数据赋值给dat
    	IapIdle();				//将IAP功能设置成空闲
    
    
    	return dat;
    	
    }
    
    
    void IapProgramByte(WORD addr, BYTE dat)
    {
    	IAP_CONTR = ENABLE_IAP;
    	IAP_CMD = CMD_PROGRAM;
    	IAP_ADDRL = addr;
    	IAP_ADDRH = addr>>8;
    	IAP_DATA = dat;
    	IAP_TRIG = 0X5A;
    	IAP_TRIG = 0XA5;
    	_nop_();
    	IapIdle();
    }
    
    
    void IapEraseSector(WORD addr)
    {
    	IAP_CONTR = ENABLE_IAP;
    	IAP_CMD = CMD_ERASE;
    	IAP_ADDRL = addr;
    	IAP_ADDRH = addr>>8;
    	IAP_TRIG = 0X5A;
    	IAP_TRIG = 0XA5;
    	_nop_();
    	IapIdle();
    }

    展开全文
  • E2PROM

    2019-08-13 15:28:54
    故使用E2PROM来保存数据 读写操作时序 【1】写数据 第一步:首先是I2C的起始信号,接着跟上首字节,即EEPROM的地址和读写位的组合,读写方向上选择“写”操作。 第二步:发送要写入数据的EEPROM内部存储地址。 ...

    功能

    保存在RAM中的数据在掉电后就会丢失
    保存在FLASH中的数据不能随意改变,无法记录变化的数值
    故使用E2PROM来保存数据

    一共256个字节的存储空间,地址从0x00~0xff,想把数据存储在哪个位置,此刻写的就是哪个地址
    可重复擦写30w到100w次
    数据可保存100年

    读写操作时序

    【1】写数据
    第一步:首先是I2C的起始信号,接着跟上首字节,即EEPROM的地址和读写位的组合,读写方向上选择“写”操作。
    第二步:发送要写入数据的EEPROM内部存储地址。
    第三步:发送要存储的数据第一个字节、第二个字节… …。

    1、写数据(单片机发送)过程中,每个字节结束后EEPROM都会回应一个“应答位0”,告诉我们写EEPROM成功,如果没有应答表示未成功。
    2、写数据过程中,每成功写入一个字节,EEPROM地址自动加1,当加到最大值,会溢出。

    //函数见I2C部分
    //向E2PROM中写入一个字节,addr为字节地址
    void E2WriteByte(unsigned char addr,unsigned char dat)
    {
    	I2CStart();
    	I2CWrite(0x50<<1);//寻址后选择为写操作
    	I2CWrite(addr);	  //写入存储地址
    	I2CWrite(dat);
    	I2CStop();
    }
    

    【2】读数据
    第一步:首先是I2C的起始信号,接着跟上首字节,即EEPROM的地址和读写位的组合,读写方向上选择“写”操作。
    第二步:发送要读取的EEPROM内部存储地址。
    第三步:重新发送I2C的起始信号和器件地址,并且在方向位选择“读”操作。
    (在这三步中,每一个字节实际上都是在“写”,因此EEPROM都会回应一个“应答位0”。)
    第四步:读取从器件发回的数据,每读一个字节,如果还想继续读下一个字节,就发送一个“应答位0”,如果不想继续读了,就发送一个“非应答位1”。
    应答位: ACK 非应答位:NACK

    //读取E2PROM中一个字节,addr为字节地址
    unsigned cahr E2ReadByte(unsigned char addr)
    {
    	unsigned char dat;
    	I2CStart();
    	I2CWrite(0x50<<1);
    	I2CWrite(addr);
    	I2CStart();
    	I2CWrite((0x50<<1)|0x01);
    	dat=I2CReadNAK();
    	I2CStop();
    	return dat;
    }
    

    多字节进行读写操作

    //读取函数,buf为数据指针,addr为E2中的起始地址,len为读取长度
    void E2Read(unsigned char *buf,unsigned char addr,unsigned char len)
    {
    		do{
    			I2CStart();
    			if(I2CWrite(0x50<<1))
    			{
    				break;
    			}
    			I2CStop();
    		}while(1);//查询当前是否可以进行读写操作
    		I2CWrite(addr);
    		I2CStart();
    		I2CWrite((0x50<<1)|0x01);
    		while(len>1)//连续读取len-1个字节
    		{
    		   *buf++=I2CReadACK();
    		   len--;
    		}
    		*buf=I2CReadNAK();
    		I2CStop();
    }
    //写入函数,buf为源数据指针,addr为起始地址,len为写入长度
    void E2Write(unsigned char *buf,unsigned char addr,unsigned char len)
    {
    	while(len--)
    	{
    		do{
    			I2CStart();
    			if(I2CWrite(0x50<<1))
    				break;
    			I2CStop();
    		} while(1);
    		I2CWrite(addr++); 
    		I2CWrite(*buf++);
    		I2CStop();
    	}
    }
    

    页写入功能
    一次性写入一页,写完再发送停止位就不用写完一个字节就检测一次

    连续向页内写入几个字节后,最后发送停止位
    E2检测到停止位,将该页写入
    如果数据跨页,则发送一个停止位等待E2空闲后,即上一页完全写入非易失区域后,进行下一页的写入

    void E2Write(unsigned char *buf,unsigned char addr,unsigned char len)
    {
    	while(len>0)
    	{
    		do{
    			I2CStart();
    			if(I2CWrite(0x50<<1))
    				break;
    			I2CStop();
    		} while(1);
    		I2CWrite(addr); 
    		while(len>0)
    		{
    			I2CWrite(*buf++);
    			len--;
    			addr++;
    			if((addr&0x07)==0)//检查地址是否到达页边界,每页8字节,固检测第三位即可
    				break;
    		}
    		I2CStop();
    	}	
    }
    
    
    展开全文
  • IIC_e2prom.zip

    2020-01-05 19:31:10
    FPGA作为IIC器件的主机,EEPROM芯片作为从机,里面代码已经通过modelsim仿真过,并在板级验证过,通过signal tap看过了信号,验证完全正确。
  • E2PROM的尺寸

    2019-10-03 22:21:15
    买的E2PROM是128*8bit的, 就是只能存储128个byte, 妈的, 买小了. 实际需要的是10句, 可能加两个特殊句, "新手"跟"故障", 一共12个字符, 除了后面两个特殊的, 每个句子有最多30个字, 每个字是2个byte, 一句话就是30*...

    买的E2PROM是128*8bit的, 就是只能存储128个byte, 妈的, 买小了.

    实际需要的是10句, 可能加两个特殊句, "新手"跟"故障", 一共12个字符, 除了后面两个特殊的, 每个句子有最多30个字, 每个字是2个byte, 一句话就是30*2=60+2(语句编号/语句长度)个byte, 十句话就是620个byte, 24C16估计够了.

    流程就是

    1. 从app端, 发送句子的编号, 语句长度, 以及无论每汉字/英文2个byte的数据.

    格式基本上是, 开始包, 数据包, 结束包.

    数据包的长度基本上是中间14个byte, 尾巴的包或者只有一个包的数据包, 直接就是语句编码后长度%14个byte.

    2. 蓝牙收到之后, 进行解码, 拿出数据包, 整理成一个byte数组, 然后将这个数据加上语句编号,长度, 凑成定长, 比如32个byte的数组, 放进E2PROM.

    3. 蓝牙收到对应的红外编码之后, 如果定时器是关闭的, 取出对应的编号的数组, 打开定时器, 开始滚动.

    4. 滚动两次完之后, 关掉定时器.

     

    转载于:https://www.cnblogs.com/Montauk/p/5838758.html

    展开全文
  • 本文所用到的数据存储器是Xicor公司生产的带有块锁保护的4 Kb CMOS串行E2PROM X5043(接口符合SPI协议)。该器件利用Xicor专有的直接写入晶片,提供最小为10万次擦写和最少100年的数据保存期。数据写入之前不需要外部...
  • 本文以AVR系列单片机中的ATmega8为例,从程序设计角度出发,提出一种切实可行的E2PROM数据存储策略,最大限度地提高片内E2PROM空间的利用率,从而解决上面提到的问题。
  • 在这里给大家提供一个单片机模拟I²C读写E2PROM的程序。
  • E2PROM(一)

    千次阅读 2017-03-17 10:21:33
    EEPROM(带电可擦写可编程只读存储器)是用户可更改的只读存储器EEPROM(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的...

    一 、发展


    EEPROM(带电可擦写可编程只读存储器)是用户可更改的只读存储器EEPROMEEPROM(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候可频繁地反复编程,因此EEPROM的寿命是一个很重要的设计考虑参数。EEPROM是一种特殊形式的闪存,其应用通常是个人电脑中的电压来擦写和重编程。

    EEPROM,一般用于即插即用(Plug & Play)。

    常用在接口卡中,用来存放硬件设置数据。

    也常用在防止软件非法拷贝的"硬件锁"上面。

    二、背景知识


    微机的发展初期,BIOS都存放在ROM(Read Only Memory,只读存储器)中。ROM内部的资料是在ROM的制造工序中,在工厂里用特殊的方法被烧录进去的,其中的内容只能读不能改,一旦烧录进去,用户只能验证写入的资料是否正确,不能再作任何修改。如果发现资料有任何错误,则只有舍弃不用,EEPROMEEPROM重新订做一份。ROM是在生产线上生产的,由于成本高,一般只用在大批量应用的场合。

    由于ROM制造和升级的不便,后来人们发明了PROM(Programmable ROM,可编程ROM)。最初从工厂中制作完成的PROM内部并没有资料,用户可以用专用的编程器将自己的资料写入,但是这种机会只有一次,一旦写入后也无法修改,若是出了错误,已写入的芯片只能报废。PROM的特性和ROM相同,但是其成本比ROM高,而且写入资料的速度比ROM的量产速度要慢,一般只适用于少量需求的场合或是ROM量产前的验证。

    EPROM(Erasable Programmable ROM,可擦除可编程ROM)芯片可重复擦除和写入,解决了PROM芯片只能写入一次的弊端。EPROM芯片有一个很明显的特征,在其正面的陶瓷封装上,开有一个玻璃窗口,透过该窗口,可以看到其内部的集成电路,紫外线透过该孔照射内部芯片就可以擦除其内的数据,完成芯片擦除的操作要用到EPROM擦除器。EPROM内资料的写入要用专用的编程器,并且往芯片中写内容时必须要加一定的编程电压(VPP=12~24V,随不同的芯片型号而定)。EPROM的型号是以27开头的,如27C020(8*256K)是一片2M Bits容量的EPROM芯片。EPROM芯片在写入资料后,还要以不透光的贴纸或胶布把窗口封住,以免受到周围的紫外线照射而使资料受损。

    折叠


    展开全文
  • E2PROM(二)

    千次阅读 2017-03-19 08:23:00
    由EPROM操作的不便,后来出的主板上BIOS ROM芯片大部分都采用EEPROM(Electrically Erasable Programmable ROM,电可擦除可编程ROM)。EEPROM的擦除不需要借助于其它设备,它是以电子信号来修改其内容的,而且是以Byte...
  • linux e2prom 驱动代码

    千次阅读 2013-03-05 14:28:24
    头文件 #ifndef _E2PROM_H_ #define _E2PROM_H_ #define E2PROM_MAGIC 'e' ...#define E2PROM_WRITE_READ _IOWR( E2PROM_MAGIC, 0, unsigned char ) #define E2PROM_MAXNR 1 #endif   源代
  • 目前,以Philips公司为主的许多著名半导体制造公司,纷纷研制出了大量的种类繁多的带有I2C总线硬件接口的单片机和通用外围器件,例如RAM、E2PROM、NVRAM、I/O口、ADC、DAC、日历时钟RTC、 LED驱动器、LCD驱动器、...
  • 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。在一个单片机系统中,往往要求系统能够为用户保存一些参数或数值。...本文主要讨论以AVR为基础的E2PROM数据动态存储策略。
  • 串行E2PROM是基于I2C-BUS 的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不挥发等特点,在仪器仪表及工业自动化控制中得到大量的应用。笔者经过大量的设计实践和试验摸索找出了24C02在应用中之...
  • MSP430X44X系列E2PROM程序

    2016-05-17 09:07:14
    MSP430X44X系列E2PROM程序
  • 分析了串行E2PROM在设备中使用的方法以及注意事项,并结合实际设计要求,着重从软件方面提出了使用此存储器的措施和方案。通过实践验证其电路结构简单明了,成本较低,稳定性非常好,非常适合机电设备存储大量数据。
  • E2PROM的原理及使用

    万次阅读 2016-08-30 23:10:42
    一、上拉电阻 1.定义:将不确定的信号通过一个电阻钳位在高电...二、EEPROM 1.定义:电可擦除可编程只读程序存储器。 2.特点:内存小,只能存储简单数据,掉电非易失。 3.时序图 a》AT24C02写入一个字节 b》AT24C02写
  • 电子-89C52内部E2PROM.txt

    2019-09-05 14:04:23
    电子-89C52内部E2PROM.txt,单片机/嵌入式51单片机
  • 该例程利用80C52单片机,通过I2C总线实现对E2PROM(24C02)的任意地址读写。程序可以实现任意长度字符串的写入,并可以从任意地址读取64字节的数据,显示在16*4(LM041L)的LCD显示器上。 例程使用Protues仿真,程序...
  • I2C E2PROM通信

    2019-11-04 11:03:25
    这个程序写了一天,大概10个小时吧 首先:最重要的就是理解I2C的通讯协议,这点非常重要 I2C:有两个引脚:SCL(时钟) SDA(数据) 下面是我自己画的I2C的协议, 我还是讲讲如何写FPGA的代码吧 ...读E2PROM的...
  • STM32 Flash模拟E2prom

    2015-06-04 21:26:10
    #define PAGE 254 //第254页 255 256 //eeprom #define ADDR_BASE (0x08000000+PAGE*2048) //存储数据Flash页首地址(0-254) /*****************************************************************
  • Flash和E2PROM的区别

    千次阅读 2010-07-05 10:37:00
    从今天开始,我就从干了好多年的软件彻底转向了软硬件结合了,丢了多年的硬件知识要重新捡起来了。...所以,理论上凡是具备这样特征的存储器都可以称为Flash memory.E2PROM里面也分FF-EEPROM和FLASH EEPROM的。现
  • 1.设计思路 本设计通过PIC16F877的I2C方式来访问E2PROM芯片24C02,为方便看到访问过程,本设计通过5个LED灯的亮与灭来显示程序运行效果。 2.电路设计 24C02与单片机的接口原理图如图所示。  图 24C02与...
  • 51单片机-I2C-E2PROM.zip

    2020-03-21 17:18:44
    51单片机-I2C-E2PROM
  • 树莓派 i2c写E2prom

    2020-01-01 18:11:59
    文章目录学习记录功能代码现象 学习记录 在整理I2C的过程中花费了大量的时间,相比之下,i2c的编程却超级简单,比stm32和单片机要简单的多得多。 功能 读取0x50设备地址下的ox00寄存器地址,然后向该寄存器写入新的...
  • 工程可见Github&amp;amp;lt;传送门&amp;amp;gt; 一、主要代码 main.c /******************************************************************************* * 文件名:main.c * 描 述: ......
  • 硬盘,flash,e2prom总会提到扇区,簇,页,块之类的概念,到底是啥概念,他们之前有什么区别和联系? 一、硬盘介绍  结构:需要了解内部结构,请看:http://blog.chinaunix.net/uid-23069658-id-3413957.html ...
  • E2PROM与Flash的引脚图

    2019-10-03 22:21:14
    E2PROM(24C02): Flash(w25q): 转载于:https://www.cnblogs.com/Montauk/p/5806608.html
  • I2C 总线 ——E2PROM

    千次阅读 2013-11-21 11:33:03
    IIC总线工作原理  I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。   起始和终止信号 :SCL线为高电平...
  • BTSpeaker.com@CSR E2PROM烧录V1.0.rar

空空如也

1 2 3 4 5 ... 20
收藏数 7,390
精华内容 2,956
关键字:

eeprom