iic非正常应答可能原因是什么

 我来答
qiaoyunfei250
2011-08-07 · 贡献了超过105个回答
知道答主
回答量:105
采纳率:0%
帮助的人:23.3万
展开全部
IIC中的应答是由从机在第9个SCL周期拉低SDA实现的
若不能产生应答或者说是在第9个周期使SDA为高电平即非应答则说明从机忙或者有其他的原因无法响应,主机应该发送停止或者重新开始发送 而应答说明了主机发送的一字节数从机已经收到,可以继续操作
追问
从机在第9个SCL周期拉低SDA的时间有多久?为什么我的程序里主机从来都没有接收到正常应答呢?下面是我的应答检查子程序:若无应答,亮灯显示并结束程序。(延时足够长,11.0592的晶振,延时超过十二个周期)
bit TestAck()
{
SDA=1;DelayMs(1);
SCL=1;DelayMs(1);
if(SDA)
{P17=0;while(1);}
SCL=0;DelayMs(1);
}
迪凯特科技(北京)有限公司_
2025-01-03 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特... 点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式