단편기의 IIC -- AT24C256 멀티 페이지 읽기 및 쓰기 주요 세그먼트

한 페이지를 가득 쓴 후에 버스를 끝내고 다시 시작해서 슬라를 쓰고 다음 페이지의suba를 쓰고 데이터를 써야 합니다.
종료 버스와 가동 버스 사이에는 반드시 지연 시간을 넣어야 합니다. 길게!!
 
extern unsigned char enumer;
bit ISendStr(unsigned char  sla,unsigned int suba,unsigned char  *s,unsigned char  no)
{ 
   unsigned char i;
   unsigned int k;//


   Start_I2c();               /*    */ 
   SendByte(sla);             /*      */
  if(ack==0)return(0);	 /////////////////////////////////////////// 

   if(AT24C256 == AT24C256)
	{ 
	SendByte((unsigned char)(suba >> 8));//             :    ,   8 .
//      32K ,  16     ,       
    if(ack==0) return(0);	  
	}
   SendByte((unsigned char)suba);            /*       */
   if(ack==0)return(0);

   for(i=0;i> 8));//             :    ,   8 .
                                                 //      32K ,  16     ,       
    	if(ack==0) return(0);	  
		}
   		SendByte((unsigned char)suba);            /*       */
   		if(ack==0)return(0);
	   }
	 suba++;
   //********************     *****************************//
	 /*    */      
     SendByte(*s++);
	 
     if(ack==1)  continue;//////////////return(0);////////////////////////////
 	 senddd('X'); //    ····
	 ///return(0);////
   }
    
   Stop_I2c();                /*    */ 
   return(1);
}

 
 
 
 

좋은 웹페이지 즐겨찾기