完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
//等待应答信号到来
//返回值:1,接收应答失败 // 0,接收应答成功 u8 IIC_Wait_Ack(void) { u8 ucErrtime=0; SDA_IN(); //SDA设置为输入 IIC_SDA=1;delay_us(1); IIC_SCL=1;delay_us(1); while(READ_SDA) { ucErrTime++; if(ucErrTime>250) //为什么要大于250啊 { IIC_Stop(); return 1; } } IIC_SCL=0;//时钟输出0 return 0; } /*************************************************************************/ ucErrTime为什么要大于250啊 谢谢各位的帮忙啊 ! |
|
相关推荐
1个回答
|
|
|
因为u8型数据,最大就是255,这里是尽长的等待,设置为250,你也可以设置最大,254.
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1093 浏览 1 评论
1909 浏览 0 评论
1886 浏览 1 评论
3308 浏览 5 评论
3632 浏览 9 评论
1096浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1413浏览 1评论
1911浏览 0评论
1228浏览 0评论
1365浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-18 10:47 , Processed in 0.858818 second(s), Total 75, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3412