完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
用单片机连续写数据组,然后再读出来后发现有一些数据不对,都是FF。好像是跨页读写出了问题。求指教!/********************************************************************
向iic设备写入N个字节 说明:write_data,写入字节的数组 Address,从address处开始写入 n,写入的字节数 ***********************************************************************/ void AT24C512_W(uchar d[], uint address, uchar num) { uchar i; iic_start(); iic_send_byte(0xa0); //器件地址 iic_wait_ack(); iic_send_byte(address/256); //传高8位地址 iic_wait_ack(); iic_send_byte(address%256); //传低8位地址 iic_wait_ack(); for(i=0; i iic_send_byte(d[i]); iic_wait_ack(); address++; if(address%256==0) { iic_stop(); delay_24c(4); iic_start(); iic_send_byte(0xa0); //器件地址 iic_wait_ack(); iic_send_byte(address/256); //传高8位地址 iic_wait_ack(); iic_send_byte(address%256); //传低8位地址 iic_wait_ack(); iic_delay(); } // iicdizhi=address; } iic_stop(); delay_24c(4); } /******************************************************************** 从iic设备读取N个字节 说明:read_data ,存放字节的数组 ; address,指定从address处开始读取 num,读取的字节数 ***********************************************************************/ void AT24C512_R(uchar r[] , uint address, uchar n) { uchar i; iic_start(); iic_send_byte(0xa0); iic_wait_ack(); iic_send_byte(address>>8); iic_wait_ack(); iic_send_byte(address & 0xff); iic_wait_ack(); iic_start(); iic_send_byte(0xa1); iic_wait_ack(); for (i=0; i r[i] = iic_receive_byte(); if (i <(n - 1)) { ack(); } //iic_wait_ack(); // address++; // if(address%256==0) // { // iic_stop(); // delay_24c(4); // // iic_start(); // iic_send_byte(0xa0); //器件地址 // iic_wait_ack(); // iic_send_byte(address/256); //传高8位地址 // iic_wait_ack(); // iic_send_byte(address%256); //传低8位地址 // iic_wait_ack(); // iic_delay(); // } } iic_noack(); iic_stop(); } |
|
相关推荐
2个回答
|
|
如果你认为是跨页出现问题,那么你可以写少于一页的数据再读出来看看,既然你自己有了想法,就要去验证
|
|
|
|
读写的时候地址是不是不对呢,以2为步进
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNK210使用指南 -CanMV版 V1.0》第十一章 FPIOA管理器实验
645 浏览 0 评论
622 浏览 0 评论
659 浏览 0 评论
2116 浏览 1 评论
2252 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11444 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-12 00:18 , Processed in 0.592054 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号