⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2404bei.c

📁 i2c总线的程序设计
💻 C
字号:
//功能:从EEPROM中给定一个地址连续读NLEN个字节数据存放在以指针
//nContent开头的往下内容。
void readflash(uchar *content,uchar address,uchar len)	//顺序读
{
	uchar i;
	Start();							//以随机读开始,提供开始地址
	write8bit(WriteDeviceAddress);
	write8bit(address);
	
	Start();
	write8bit(ReadDeviceAddress);
	for(i=0;i<len;i++)
	{
		*content=read8bit();
		content++;
		ack();	
	}
	no_ack();
	Stop();
}

uchar readflash_byte()
{
	 uchar readdata;
	 Start();
	 write8bit(ReadDeviceAddress);
	 readdata=read8bit();
	 ack();
	 Stop();
	 return readdata;
	}
//
bit Init_Flash ( unsigned int nPage ) //    8 Byte/1Page init 0xFF 
{
	unsigned char nLen;
	unsigned char Addr;
	nLen=16;
    Addr=16 *nPage;
	Start();;
    write8bit(WriteDeviceAddress);
	write8bit(Addr);
	for(;nLen!=0;nLen--)
    {
	       if(write8bit(0xff)) break;  //if Write8Bit() Return 1 Write Flase
	}
	Stop();
	delay10ms();
    return(CY);
}																		
//功能:向EEPROM

void writeflash(uchar *content,uchar address,uchar len)
{
	uchar i;

	Start();
	write8bit(WriteDeviceAddress);
	write8bit(address);
	for(i=0;i<len;i++)
	{
		if(address%16==0)//该写下一页了
		{
			Stop();
			delay10ms();
			Start();
			write8bit(WriteDeviceAddress);
			write8bit(address);
		}

		write8bit(*content);  
		
		content++;
		address++;
	}
	Stop();
	delay10ms();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -