完善资料让更多小伙伴认识你,还能领取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.
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1073 浏览 1 评论
1892 浏览 0 评论
1869 浏览 1 评论
3295 浏览 5 评论
3619 浏览 9 评论
1078浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1402浏览 1评论
1896浏览 0评论
1210浏览 0评论
1348浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 13:18 , Processed in 0.592219 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3411