完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
前面我看我能写进去能读出来,数据都是没有错误的以为正确了,但是现在项目总测试的时候需要检查返回值。我在进行写操作的时候,接收EEPROM的应答信号,会出现接收到NACK的应答,但是我的又把数据写进去了,能读出来那个产生NACK应答信号的数据。
这是我的写操作的代码: u8 Senddata_byte(u8 data) { u8 i = 8; GPIOB->CRH &= 0xffffff0f; GPIOB->CRH |= 0x00000010; //PB9TM; while(i--) { SCL_0(); Delay_us(5); if(data & 0x80) SDA_1(); else SDA_0(); data <<= 1; Delay_us(5); SCL_1(); Delay_us(5); } //接收ACK SCL_0();//第九个SCL脉冲 Delay_us(5); GPIOB->CRH &= 0xffffff0f; GPIOB->CRH |= 0x00000040; //PB9浮空输入; if(SDA_STATE) { GPIOB->CRH &= 0xffffff0f; GPIOB->CRH |= 0x00000010; //PB9TM; SCL_1(); Delay_us(5); SCL_0(); Delay_us(5); return NACK; } else { GPIOB->CRH &= 0xffffff0f; GPIOB->CRH |= 0x00000010; //PB9TM; SCL_1(); Delay_us(5); SCL_0(); Delay_us(5); return ACK; } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何配置Linux操作系统设备树让我的开发板可以将板子上的GPIO接口用作 I2S输出??
1350 浏览 1 评论
1285 浏览 0 评论
1994 浏览 0 评论
2005 浏览 2 评论
1113 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 14:23 , Processed in 0.580815 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191