资源简介
AT24c02驱动编写,stm32IO口模拟模拟IIC时序,实现写入数据与读出数据功能
代码片段和文件信息
#include “AT24CXX.h“
/*******************************************************************************
* 函 数 名 : AT24Cxx_ReadOneByte
* 函数功能 : 24c02读一个字节地址 数据
* 输 入 : addr
* 输 出 : 返回值temp
*******************************************************************************/
u8 AT24Cxx_ReadOneByte(u16 addr)
{
u8 temp=0;
I2C_Start();
if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}
I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();
I2C_Start();
I2C_Send_Byte(0xA1);
I2C_Wait_Ack();
temp=I2C_Read_Byte(0); // 0 代表 NACK
I2C_NAck();
I2C_Stop();
return temp;
}
/*******************************************************************************
* 函 数 名 : AT24Cxx_ReadTwoByte
* 函数功能 : 24c02读2个字节地址 数据
* 输 入 : addr
* 输 出 : 返回值temp
*******************************************************************************/
u16 AT24Cxx_ReadTwoByte(u16 addr)
{
u16 temp=0;
I2C_Start();
if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}
I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();
I2C_Start();
I2C_Send_Byte(0xA1);
I2C_Wait_Ack();
temp=I2C_Read_Byte(1); // 1 代表 ACK
temp<<=8;
temp|=I2C_Read_Byte(0); // 0 代表 NACK
I2C_Stop();
return temp;
}
/*******************************************************************************
* 函 数 名 : AT24Cxx_WriteOneByte
* 函数功能 : 24c02写一个字节地址 数据
* 输 入 : addr dt
* 输 出 : 无
*******************************************************************************/
void AT24Cxx_WriteOneByte(u16 addru8 dt)
{
I2C_Start();
if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}
I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();
I2C_Send_Byte(dt);
I2C_Wait_Ack();
I2C_Stop();
delay_ms(10);
}
/*******************************************************************************
* 函 数 名 : AT24Cxx_WriteTwoByte
* 函数功能 : 24c02写2个字节地址 数据
* 输 入 : addr dt
* 输 出 : 无
*******************************************************************************/
void AT24Cxx_WriteTwoByte(u16 addru16 dt)
{
I2C_Start();
if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8); //发送数据地址高位
}
else
{
I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}
I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();
I2C
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\
文件 2584493 2016-05-10 15:19 实验13:IIC(24C02)\24c02中文官方手册.pdf
文件 1448146 2016-05-10 15:19 实验13:IIC(24C02)\i2c总线协议(中文版pdf).pdf
文件 167165 2016-05-10 15:18 实验13:IIC(24C02)\串口助手显示.jpg
文件 557577 2016-05-10 15:19 实验13:IIC(24C02)\实验13:IIC(24C02).pdf
文件 595 2016-05-10 15:18 实验13:IIC(24C02)\实验说明.txt
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\
文件 59715 2016-05-10 15:37 实验13:IIC(24C02)\工程模板\1.uvopt
文件 654 2016-05-10 15:37 实验13:IIC(24C02)\工程模板\1_Target 1.dep
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\APP\
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\APP\AT24Cxx\
文件 3357 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\AT24Cxx\AT24CXX.c
文件 510 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\AT24Cxx\AT24CXX.h
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\APP\beep\
文件 1879 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\beep\beep.c
文件 194 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\beep\beep.h
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\APP\exit\
文件 1581 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\exit\exti.c
文件 151 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\exit\exti.h
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\APP\IIC(24C02)\
文件 3329 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\IIC(24C02)\iic.c
文件 725 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\IIC(24C02)\iic.h
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\APP\key\
文件 1095 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\key\key.c
文件 451 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\key\key.h
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\APP\LED\
文件 2342 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\LED\led.c
文件 182 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\LED\led.h
目录 0 2017-03-03 07:59 实验13:IIC(24C02)\工程模板\APP\printf\
文件 2082 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\printf\printf.c
文件 147 2016-05-10 19:22 实验13:IIC(24C02)\工程模板\APP\printf\printf.h
............此处省略241个文件信息
- 上一篇:数据库课程设计-----英语学习助手
- 下一篇:三星手机 自带的所有ogg声音文件
评论
共有 条评论