iic.c

来自「自己设计的pic单片机开发板源程序和说明书(内有原理图)支持pic16系列28脚」· C语言 代码 · 共 68 行

C
68
字号
// extern int8 buffer[8];

//================================
void iic_start(){
   i2c_start();
}
//----------------------------------
void iic_stop(){
   i2c_stop();
}

//-----------------------------------
void  wriic(int m,int subad,int*p){
int8 i;
   i2c_write(subad);
   for(i=0;i<m;i++){
      i2c_write(*p);
      p++;
   }
   iic_stop();
}

/************I2C总线连续读操作******************/
/**/
void  reiic(int sla,int m,int *p){
int8 i;
   iic_start();
   i2c_write(sla);
   for(i=1;i<m;i++){
      *p=i2c_read();
      p++;
   }
   *p=i2c_read(0);
   iic_stop();
}
//------------------------------------
//***********************************/
void Test_iic()
{
int8 i;
	puts("write 0~7 to IIC Bus eeprom .and then read it\n");
	for(i = 0;i < 8; i++)
	{
		buffer[i] = i;
		printf("%d",buffer[i]);
	}
	printf("\n");
	iic_start();
	i2c_write(ADDR_IIC_EEP);
	wriic(8,0,buffer);
	for(i = 0;i < 8; i++)
	{
		buffer[i] = 0;
	}
    delay_ms(10);		//delay 10 ms
	iic_start();
	i2c_write(ADDR_IIC_EEP);
	i2c_write(0);
	reiic(ADDR_IIC_EEP+1,8,buffer);
	
	for(i = 0;i < 8; i++)
	{
		printf("%d",buffer[i]);
	}
	printf("\n");
}
	

⌨️ 快捷键说明

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