91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

自己寫的eeprom驅動函數。包含了字節寫,讀,頁寫,多頁寫,連續讀函數。已調試通過 只要更改宏定義即可使用

資源截圖

代碼片段和文件信息

/*******************************************************************************
**?文件名稱:eeprom.c
**?功????能:
**?修改日志:
********************************************************************************/
#include?“includes.h“

/*******************************************************************************
**?函數名稱:void?I2cInit(void)
**?功???能:?將總線拉高以釋放總線
**?修改日志:
*******************************************************************************/
void?I2cInit(void)
{
??SCL_DIR_OUTPUT;
??SDA_DIR_OUTPUT;
??SCL_OUT_HIGH;
??delay_us(10);
??SDA_OUT_HIGH;
??delay_us(10);
}
/*******************************************************************************
**?函數名稱:void?I2cStart(void)
**?功???能:?SCL在高電平期間,SDA一個下降沿啟動信號
**?修改日志:
*******************************************************************************/
void?I2cStart(void)
{
????SCL_DIR_OUTPUT;
????SDA_DIR_OUTPUT;
????SDA_OUT_HIGH;
????delay_us(10);
????SCL_OUT_HIGH;???
????delay_us(10);
????SDA_OUT_LOW;
????delay_us(10);
}
/*******************************************************************************
**?函數名稱:void?I2cStop(void)
**?功???能:?SCL在高電平期間,SDA一個上升沿停止信號
**?修改日志:
*******************************************************************************/
void?I2cStop(void)
{
????SDA_DIR_OUTPUT;????
????SDA_OUT_LOW;
????delay_us(10);
????SCL_OUT_HIGH;?
????delay_us(10);
????SDA_OUT_HIGH;?
????delay_us(10);
}
/*******************************************************************************
**?函數名稱:void?I2cAck_Eeprom()
**?功???能:?SCL在高電平期間,SDA被從設備拉為低電平表示應答?Eeprom應答
**?修改日志:
*******************************************************************************/
void?I2cAck_Eeprom(void)
{
????uchar?i?=0;
????SDA_DIR_INPUT;
????SCL_OUT_HIGH;?
????delay_us(10);
????while(SDA_READ&&(i<255))??i++;??
????SCL_OUT_LOW;
????delay_us(10);
}
/*******************************************************************************
**?函數名稱:void?I2cAck_Cpu()
**?功???能:?SCL在高電平期間,SDA輸出低電平表示應答?CPU應答
**?修改日志:
*******************************************************************************/
void?I2cAck_Cpu(void)
{
????SCL_OUT_HIGH;
????delay_us(10);
????SDA_DIR_OUTPUT;
????SDA_OUT_LOW;
????delay_us(10);
????SDA_OUT_HIGH;
????SCL_OUT_LOW;
}
/*******************************************************************************
**?函數名稱:void?I2cWriteByte(unsigned?char?wbyte)
**?功???能:?
**?修改日志:
*******************************************************************************/
void?I2cWriteByte(unsigned?char?wbyte)
{
????SDA_DIR_OUTPUT;???
????for(unsigned?char?i=0;?i<8;?i++){
????????SCL_OUT_LOW;
????????delay_us(10);
????????if(wbyte?&?0x80){
??????????SDA_OUT_HIGH;
????????}
????????else{
??????????SDA_OUT_LOW;
????????}
?????????wbyte?<<=1;
?????????SCL_OUT_HIGH;
?????????delay_us(10);
?????}
????SCL_OUT_LOW;
????delay_us(10);
????SDA_OUT_HIGH;
????delay_us(10);
}
/*******************************************************************************
**?函數名稱:unsigned?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????7820??2013-12-12?11:21??eeprom.c

?????文件???????1607??2013-12-12?11:17??eeprom.h

-----------?---------??----------?-----??----

?????????????????9427????????????????????2


評論

共有 條評論