第一范文网 - 专业文章范例文档资料分享平台

I2C程序(AT24C1024)测试通过的

来源:用户分享 时间:2025/8/9 20:20:25 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

return(receive_data);

}

//********************************************* //向AT24C1024写入数据 //********************************************* void write_1024(uchar send[]) {

int i; start();

write_byte(0xa0);

check_ACK();

write_byte(0x00); check_ACK(); write_byte(0x00); check_ACK();

for(i=0;i<16;i++)

{

//启动总线 //发送器件地址

//发送器件片内高8位地址 //检查从机是否应答

//发送器件片内低8位地址 //写16个数

//将sind[]数组里面的数据写入AT24C1024

write_byte(send[i]);

check_ACK();

} stop();

//停止总线

}

//********************************************* //从AT24C1024读出数据 //********************************************* void read_1024(uchar receive_data[]) {

uchar i; start(); write_byte(0xa0);

check_ACK(); write_byte(0x00); check_ACK(); write_byte(0x00); check_ACK(); start(); write_byte(0xa1); check_ACK(); for(i=0;i<16;i++)

//启动总线 //发送器件地址

//检查从机是否应答

//发送器件片内高8位地址 //发送器件片内低8位地址

//再次启动总忂

//发读命令

//读16个数

//读出来的数据存到receivedata[]

//是否读完,未读完全部数

{

receive_data[i]=read_byte();

数组中 if(i==15) 据,则应答0

NoACK(); else

ACK(); } stop();

}

void main()

{

uchar send_data[16]={1,9,8,8,0,5,2,3,1,9,8,8,0,9,0,6}; uchar receive_data[16]={0};

while(1) {

delay(300); write_1024(send_data); delay(1000);

read_1024(receive_data);

P3=receive_data[2]; } }

//停止总线

//要写入到AT24C1024数据 //存储从AT24C1024读出的数

//延时等待蕊片复位 //调用写AT24C1024程序 //AT24C1024写入延时

//调用读AT24C1024程序

搜索更多关于: I2C程序(AT24C1024)测试通过的 的文档
I2C程序(AT24C1024)测试通过的.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c72o0z7v83r6msol1o3zw_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top