資源簡介
基于STM32F103的24m02芯片驅(qū)動代碼,使用軟件iic協(xié)議,實現(xiàn)數(shù)據(jù)存儲及讀取

代碼片段和文件信息
#include?“bsp_iic.h“
#include?“bsp_SysTick.h“
#include?
?/******************************************************************************
??*?@file????bsp_iic.c
??*?@author??Tanch
??*?@version?V1.0.0
??*?@date????03/10/2019
??*?@brief???軟件IIC
??******************************************************************************/
??
??
??
?/******************************************************************************
??*?@name:??IIC_Start
??*?@param:?none
??*?@note:??IIC啟動信號
??*?@retval:none
??******************************************************************************/
void?IIC_Start(void)
{
SDA_OUT();
M24M02_SDA(1);
M24M02_SCL(1);
Delay_us(4);
M24M02_SDA(0);
Delay_us(4);
M24M02_SCL(0);
Delay_us(4);
}
?/******************************************************************************
??*?@name:??IIC_Stop
??*?@param:?none
??*?@note:??IIC停止信號
??*?@retval:none
??******************************************************************************/
void?IIC_Stop(void)
{
SDA_OUT();
M24M02_SDA(0);
M24M02_SCL(0);
Delay_us(4);
M24M02_SCL(1);
M24M02_SDA(1);
Delay_us(4);
}
?/******************************************************************************
??*?@name:??IIC_WaitAck
??*?@param:?none
??*?@note:??IIC等待響應
??*?@retval:0-正確應答?1-無器件響應
??******************************************************************************/
uint8_t?IIC_WaitAck(void)
{
uint8_t?ucErrTime?=?0;
M24M02_SDA(1);
SDA_IN();
Delay_us(1);
M24M02_SCL(1);
Delay_us(1);
while(READ_SDA_IN_STATE)
{
ucErrTime++;
if(?ucErrTime?>?250)
{
IIC_Stop();
printf(“Nack\r\n“);
return?1;
}
}
M24M02_SCL(0);
Delay_us(4);
return?0;
}
/******************************************************************************
??*?@name:??IIC_Ack
??*?@param:?none
??*?@note:??產(chǎn)生一個IIC?ARC信號
??*?@retval:none
??******************************************************************************/
static?void?IIC_Ack(void)
{
M24M02_SCL(0);
SDA_OUT();
M24M02_SDA(0);
Delay_us(2);
M24M02_SCL(1);
Delay_us(2);
M24M02_SCL(0);
}
/******************************************************************************
??*?@name:??IIC_NAck
??*?@param:?none
??*?@note:??不產(chǎn)生IIC?ARC信號
??*?@retval:none
??******************************************************************************/
static?void?IIC_NAck(void)
{
M24M02_SCL(0);
SDA_OUT();
M24M02_SDA(1);
Delay_us(2);
M24M02_SCL(1);
Delay_us(2);
M24M02_SCL(0);
}
/******************************************************************************
??*?@name:??IIC_Send_Byte
??*?@param:?dat:要發(fā)送的8bit數(shù)據(jù)
??*?@note:??IIC發(fā)送數(shù)據(jù)
??*?@retval:none
??******************************************************************************/
void?IIC_Send_Byte(unsigned?char?dat)
{
uint8_t?t;
SDA_OUT();
M24M02_SCL(0);
for(t=0;t<8;t++)
{
if(?(dat&0x80)>>7?){
M24M02_SDA(1);
}
else?
{
M24M02_SDA(0);
}
dat?<<=?1;
Delay_us(2);
M
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1191??2019-03-19?12:38??bsp_iic.h
?????文件????????4357??2019-03-19?12:40??m24m02.c
?????文件?????????762??2019-03-19?12:40??m24m02.h
?????文件????????4418??2019-03-19?12:38??bsp_iic.c
評論
共有 條評論