iic.c

来自「UPS111配小尺寸3.5寸摸拟屏的源码」· C语言 代码 · 共 75 行

C
75
字号
//===================================================================================
//
//                                    IIC.C
//   Author: Duran Liu
//   Date: 06\12\03
//   Version: 1.0
//   Copyright: AUO
//===================================================================================

#include "include.h"

void SendIIC(BYTE Data)
{
   BYTE Buf,i;
   for(i=0;i<8;i++)
   {  
     Buf=Data & 0x80;
     if(Buf == 0x80)
     {SendHigh;}
     else 
     {SendLow;}
     Data <<= 1; 
   }
   SDA=0x01;//ACK
   IIC_SCL;
   SDA=0x00;
}

//================= For EEPROM ====================
void SendEEPROMIIC(BYTE Data)
{
   BYTE Buf,i;
   for(i=0;i<8;i++)
   {  
     Buf=Data & 0x80;
     if(Buf == 0x80)
     {Send_EEPROM_High;}
     else 
     {Send_EEPROM_Low;}
     Data <<= 1; 
   }
   MEM_SDA=1;//ACK
   Delay4us();
   MEM_SCL=1;
   Delay4us();
   MEM_SCL=0;
   Delay4us();
}

BYTE GetEEPROMIIC(void)
{
  BYTE Buf,i;
  
  Delay3us();
  for(i=0;i<8;i++)
  {
    MEM_SCL=1;
    Delay4us();

    Buf = Buf << 1;
	if(MEM_SDA) Buf |= 0x01;

    MEM_SCL=0;
    Delay4us();
  }
   MEM_SDA=1;//ACK
   Delay4us();
   MEM_SCL=1;
   Delay4us();
   MEM_SCL=0;
   Delay4us();
  return(Buf);
}
//=================================================

⌨️ 快捷键说明

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