AM2120无响应问题排查

代码:如果响应则会产生低电平,判断返回1;否则返回0。串口调用打印返回值。实际运行一直是0,故作此分析验证。

bit AM2120_Convert()
{
	uint8 Timeout = 0;
	AM2120_PORT0 = 1;
	AM2120_PORT0 = 0;Delay_ms(3);	//主机起始信号【拉低时间1~20ms】
	AM2120_PORT0 = 1;Delay_48us();Delay_6us();//主机释放总线【拉高时间10~200us】

	if(AM2120_PORT0==1)return 0;
	else while((AM2120_PORT0==0)&&(Timeout<200))Timeout++;
	Delay_70us();
	return 1;
}

下面是验证步骤及图解说明:

操作1,手动拉低2.2ms【演示操作,计算延时时间】
在这里插入图片描述
操作2:手动拉高36us【演示操作,计算延时时间】在这里插入图片描述
操作3:实际验证,先拉低2.2ms,再拉高36us,但因AM2120未响应,故未出现应答信号【低电平】。操作3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值