1,iic总线从机没有返回应答给主机

我用的一个带有iic接口电量计和我的单片机通讯,我用逻辑分析仪分析数据发现主机写一个字节数据后从机并没有返回一个ack给主机,导致我后面读取从机的数据时全部是ff,请问各位iic大神,我该怎么去查问题呢?

硬件上检查下iic设备有没有虚焊,总线有没有冲突,示波器点下scl和sda线有没有半高电平;
如果你的代码不保证是成熟的,建议示波器触发一下看看时序满不满足iic协议要求;
读出的数据是总线默认状态ff,说明设备没响应,最有可能:
地址不对;
时序不对;
速率不匹配

1、当从机不能响应从机地址时(例如它正忙于其他事而无法响应IIC总线的操作,或者这个地址没有对应的从机),在第9个SCL周期内SDA线没有拉低,即没有ACK信号。这时,主机发出一个P信号终止传输或者重新发出一个S信号开始新的传输。
2、如果从机接收器在传输过程中不能接收更多的数据时,它不会发出ACK信号。这样,主机就可以意识到这点,从而发出一个P信号终止传输或者重新发出一个S信号开始新的传输。
3、主机接收器在接收到最后一个字节后,也不会发出ACK信号。于是,从机发送器释放SDA线,以允许主机发出P信号结束传输

2,I2C通信,有时会出现主机收不到从机ACK响应的情况,这时SDA线也会被拉死(低电平),大家给支支招啊!

I2C通信,有时会出现主机收不到从机ACK响应的情况,这时SDA线也会被拉死(低电平),大家给支支招啊!-CSDN论坛

是不是时序有问题啊,你把timeout设置大点看看,再找原因

确定I2C的几个寄存器设置没有问题?

抓一下I2C的时序看一下吧,主送的时序没有问题的话,没有应答很可能是从的问题。

3,对IIC总线时序的一点理解以及ACK和NACK(NAK)

对IIC总线时序的一点理解以及ACK和NACK(NAK)_weixin_34357928的博客-CSDN博客

总结下,IIC通讯中,SDA 和 SCL 都是有主机控制的,从设备只是能够将SDA线拉低而已。对于SCL线,从机是没有任何能力去控制的。从机只能被动跟随SCL。(说法待考究)

一句话:SCL是单向的,由master控制。而SDA是双向的,master可以控制,slaver也可以控制。

4,对I2C总线中ACK的理解(通俗易懂)

对I2C总线中ACK的理解 - 百度文库

如何解决主机发送地址之后 从机没有发出ACK应答信号给主机相关推荐

  1. 网络主机发送IP数据包过程

    主机发送IP数据包过程 当一个拥有公网IP的主机给其它主机发送IP数据包时,首先在IP首部封装自身IP地址(源IP)和目的主机的IP地址(目的IP),实现网络层数据的封装.接下来进行数据链路层封装,数 ...

  2. Linkcloud推半虚拟化云主机 性能堪比物理机

    Linkcloud推半虚拟化云主机 性能堪比物理机 近日linkcloud推出半虚拟化云主机,和全虚拟化相比,架构更精简,读取速度更快. 半虚拟化它与完全虚拟化有一些类似,它也利用Hypervisor ...

  3. Linux笔记-解决iptables配置后,本机无法访问本机,本机无法访问其他主机问题

    解决两个问题: ①本机无法访问本机. ②本机无法访问其他主机. 原理:一般iptables配置的是eth设备,而本机用的是lo设备,所以lo设备也要操作. 解决本机无法访问本机: iptables - ...

  4. 通过路由器的IP映射来解决,两个不同IP地址的PC机之间的从LAN口到WAN口的单向通讯问题

    通过路由器的IP映射来解决,两个不同IP地址的PC机之间的从LAN口到WAN口的单向通讯问题 参考文章: (1)通过路由器的IP映射来解决,两个不同IP地址的PC机之间的从LAN口到WAN口的单向通讯 ...

  5. 网络编程(part7)--网络主机/IP地址/域名/端口号

    鄙人学习笔记 文章目录 网络主机(host) 功能 地址 查看本机网络地址命令 举个例子 IP地址 功能 结构 特殊IP 域名 定义 作用 ping 举个例子 端口号(port) 作用 特点 取值范围 ...

  6. 基于ARP协议获取局域网内主机MAC地址

      ARP帧数据结构 #define BROADMAC        {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF} //广播MAC #define EH_TYPE           ...

  7. 计算机网络——主机IP地址、子网掩码、广播地址、网络数、主机数计算方法

    目录 一.概念 1.1 主机IP地址 1.2 子网掩码 1.3 广播地址 1.4 子网划分 二.计算 2.1 已知IP地址和子网掩码,计算网络地址和主机地址: 2.2 已知IP地址和子网掩码,计算广播 ...

  8. RW007 高速 WiFi 模块使用BLE主机功能连接 BLE 从机设备示例

    RW007 高速 WiFi 模块使用BLE主机功能连接 BLE 从机设备示例 在本文档中将会从零开始说明如何使用 RW007 的 BLE 主机功能去连接一个BLE串口透传设备,实现数据交互的功能. 硬 ...

  9. html调取主机ipv6地址,IPv6地址格式及地址配置方式

    IPv6地址格式及地址配置方式 一个典型的IPv6主机单播地址由3部分组成:全局路由前缀.子网ID和接口ID(64位).全局 路由前缀用来识别分配给一个站点的一个地址范围.子网ID也称为子网前缀,一个 ...

最新文章

  1. 贾扬清:我对人工智能方向的一点浅见
  2. C#自定义控件四简易时钟
  3. CorrNet3D:基于无监督的非刚性点云配准网络 (CVPR2021)
  4. python中如何创建类的对象_python面向对象中如何建立具体的对象?
  5. windows下使用GIT下载ANDROID源码
  6. linux 查看磁盘分区的文件系统格式
  7. Nginx.代理MySQL
  8. HTTP 304 的理解
  9. 乘法逆元通俗易懂的理解方法
  10. 3.5 《数据库系统概论》之基本表更新(INSERT、UPDATE、ALTER、DELETE)与视图VIEW(定义、查询、更新)
  11. Win7系统下共享文件夹后共享文件夹上的小锁图标取消方法
  12. leetcode初级算法2.旋转数组
  13. 查一个字段中字符集超过30的列_详细解读MySQL的30条军规
  14. TypeScript报错--找不到模块“path”或其相应的类型声明
  15. hdu 4355 Party All the Time
  16. python数字大小写转换代码_把金额小写转换成大写的Python代码
  17. winzip15.0注冊码
  18. mac画图工具 OmniGraffle (四)化繁为简
  19. HDU - 4311 Meeting point-1(最小曼哈顿距离和)
  20. 选股小技巧|如何选股

热门文章

  1. Golang中获取中文字符串的子串字符位置及截取子串
  2. SDCC 2016线上架构峰会顾问团、嘉宾、议题、日程大公开(免费报名)
  3. AI作画—矢量插画风海报
  4. ceph提示: non-power-of-two pg_num解决办法
  5. 拼多多流量怎么提升好?
  6. Maven ‘parent.relativePath‘错误
  7. 51c语言单片机io口控制实验报告,单片机I/O口控制实验
  8. word转换html源码,word转html(一)
  9. C# 简单四舍五入函数
  10. hdu 4339 Query ---线段树