#include
#include
#include
#include "i2c.h"
#define uchar unsigned char
#define W_24C64 0xa0
#define R_24C64 0xa1
//******************24C64操作*********************//
void delay_8ms(void)
{
uchar i;
i = 1500;
while(i--);
}
//写入24C64
void w_24c64_data(uchar addr_24c64_H,uchar addr_24c64_L,uchar data_w)
{
I_start();
if(I_send(W_24C64))
{
if(I_send(addr_24c64_H) && I_send(addr_24c64_L))
{
if(I_send(data_w))
{
I_stop();
}
else
{
I_stop();
}
}
else
{
I_stop();
}
}
else
{
I_stop();
}
}
//读24c64
void r_24c64_data(uchar addr_24c64_H,uchar addr_24c64_L,uchar *p_r)
{
I_start();
if(I_send(W_24C64))
{
if(I_send(addr_24c64_H) && I_send(addr_24c64_L))
{
I_start();
if(I_send(R_24C64))
{
SDA = 1;
*(p_r)=I_receive();
I_clock();
I_stop();
}
else
{
I_stop();
}
}
else
{
I_stop();
}
}
else
{
I_stop();
}
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部2条评论
快来发表一下你的评论吧 !