OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9366|回复: 7

ucErrTime++; if(ucErrTime>250) 这两句的作用是什么???

[复制链接]

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
发表于 2014-3-4 21:13:04 | 显示全部楼层 |阅读模式

ucErrTime++;
if(ucErrTime>250)      这两句的作用是什么???



//等待应答信号到来
//返回值: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)
{
IIC_Stop();
return 1;
}
}
IIC_SCL=0;//时钟输出0   
return 0;  



ucErrTime++;
if(ucErrTime>250)      这两句的作用是什么???






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-4 21:30:07 | 显示全部楼层
延时等待应答信号的到来,如果ucErrTime大于250了都没有应答,则等待应答失败
博观而约取,厚积而薄发。
回复 支持 1 反对 0

使用道具 举报

69

主题

475

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1334
金钱
1334
注册时间
2013-12-28
在线时间
197 小时
发表于 2014-3-4 23:08:26 | 显示全部楼层
楼上的正解,多研究下IIC就懂了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-5 08:48:03 | 显示全部楼层
回复【楼主位】傻子:
---------------------------------
1楼正解,等不到应答信号就超时,就是说这次的IIC通讯就出错了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
 楼主| 发表于 2014-3-5 19:01:50 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
也就是说经过250次的+1后就认为应答失败呗,那我改成260   300   400也行被????
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
 楼主| 发表于 2014-3-5 19:02:07 | 显示全部楼层
回复【3楼】jiaozhu:
---------------------------------
也就是说经过250次的+1后就认为应答失败呗,那我改成260   300   400也行被????
回复 支持 反对

使用道具 举报

69

主题

475

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1334
金钱
1334
注册时间
2013-12-28
在线时间
197 小时
发表于 2014-3-5 19:06:30 | 显示全部楼层
回复【6楼】傻子:

回复【3楼】jiaozhu:
---------------------------------
也就是说经过250次的+1后就认为应答失败呗,那我改成260   300   400也行被????

---------------------------------
试试就知道了,理论上说是可行的,时间自己设定。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2022-3-18
在线时间
2 小时
发表于 2022-10-15 21:48:16 | 显示全部楼层
8年后还有人想找这个问题,终于知道为什么了,因U8变量最大是255,所以尽可能大就行,所以设255也可以啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 00:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表