目录

沁恒蓝牙系列芯片中目前只有CH582/583以及208包含有硬件IIC外设,本文均使用582进行测试,其他沁恒芯片也可以参考本文排查。

先进行“常规”检查,检查相关引脚的焊接、线材是否断线或接触不良等问题,确定是否为IIC模块的问题。

如果582作硬件IIC主机:

上电后是否进行了上电延时以给从机进行上电加载。从机上电加载可能需要一定的时间,具体看从机芯片手册或者从机模块手册的要求。

SCL、SDA总线上是否按从机要求加了2~10k的上拉电阻。是否需要上拉电阻和上拉电阻阻值的选择,具体看从机芯片手册或者从机模块手册的要求。

时序正常,应答都正常,但是数据“异常”,比如说某些寄存器能读到正常数值,某些寄存器读出来都是0。建议查阅从机手册,检查一下从机模式是否正常,有没有唤醒从机,有没有向从机配置一些必要参数等。

重映射后一直busy。最新EVT中已解决,初始化函数中添加了重置IIC模块的语句,具体见博客硬件IIC的重映射使用问题 - JayWell - 博客园 (cnblogs.com)

读操作过程中发现PE被关掉了也就是IIC取消了使能,可以尝试去掉下图中的代码。

检查PE标志位可以这样打印:PRINT("PE = %d\n",((*((uint32_t*)0x40004800))&0x0001));

如果582作硬件IIC从机:

使用到了从机第二地址,接收数据后没有不释放时钟线导致一致busy,可能是EVT版本比较旧而缺少第二地址接收相关宏,可以参考最新EVT中的宏定义。

如果使用到了硬件IIC主/从中断:

发现能够跑通,但运行不稳定,可能运行一段时间后就卡死。建议参考最新EVT例程,使用if语句判断标志位,而不要用switch case语句判断标志位。参考例程中的if语句判断只要求相应的标志置位即可,而使用switch case语句判断则要求每一位标志都严格一致。

如果还是没有排查出问题,可以在沁恒官网相关系列芯片的论坛反馈。

硬件IIC调试问题排查的更多相关文章

  1. paip.hql的调试故障排查流程总结

    paip.hql的调试故障排查流程总结 环境.myeclipse7.0 1 Hql的调试工具myeclipxe默认工具.../Hibernate8IDE 1 故障的排除方法overview 1 Hql ...

  2. STM32硬件IIC操作

    Stm32具有IIC接口,接口有以下主要特性 多主机功能:该模块既可做主设备也可做从设备 主设备功能 C地址检测 位/10位地址和广播呼叫 支持不同的通讯速度 状态标志: 发送器/接收器模式标志 字节 ...

  3. STM32硬件IIC (转)

    源: STM32硬件IIC

  4. STM32硬件IIC驱动设计(转)

    源: STM32硬件IIC驱动设计 参考: STM32—硬件IIC主机通信 STM32’s I2C 硬件BUG引发的血案(qzm) 解决STM32 I2C接口死锁在BUSY状态的方法讨论

  5. STM32硬件IIC

    /** * @brief 写一个字节到I2C设备中 * @param * @arg pBuffer:缓冲区指针 * @arg WriteAddr:写地址 * @retval 正常返回1,异常返回0 * ...

  6. STM32 IIC双机通信—— HAL库硬件IIC版

    参考传送门 关于IIC的原理这里我就不多说了,网上有很多很好的解析,如果要看我个人对IIC的理解的话,可以点击查看,这里主要讲一下怎样利用STM32CubeMx实现IIC的通讯,经过个人实践,感觉HA ...

  7. STM32读取bq33100数据——硬件IIC

    背景:拟采用bq33100超级电容管理芯片,实现自动的超级电容组的均压任务.需监控芯片的工作情况,以及电容组的均压情况. 平台: 硬件:STM32F103C8T6 通信:SMBus(低速IIC) 目标 ...

  8. LPC2478的硬件IIC使用

    LPC2478的IIC使用 LPC2478带有三个IIC接口,每个IIC都可以工作在主机或者从机模式下,LPC的IIC的架构是一种状态机的形式,在不同的的时间做不同的工作之后有不同的状态来表示, 简单 ...

  9. Xcode中使用数据(硬件)断点调试

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在Xcode的GUI界面中只能添加软断点,而无法增加硬断点.但 ...

  10. FPGA开发要懂得使用硬件分析仪调试——ILA

    0. ILA概述在FPGA开发中,当我们写完代码,进行仿真,确定设计没有问题后,下载到硬件上一般都能按照我们的设计意愿执行相应功能.但这也并非绝对的,有时候你会遇到一些突然情况,比如时序问题或者仿真时 ...

随机推荐

  1. Wireshark嗅探软件

    # Wireshark的基本使用方法 1.1 打开wireshark 1.2 查看eth0 1.3 混杂模式 混杂模式 :任何经过这台主机的数据报都会被捕获. 停止捕获 -> 捕获 -> ...

  2. 自己的devc++的语法配置

    效果如下

  3. Go语言的template

    html/template包实现了数据驱动的模板,用于生成可防止代码注入的安全的HTML内容.它提供了和 text/template包相同的接口,Go语言中输出HTML的场景都应使用html/temp ...

  4. 记一次线上FGC问题排查

    引言 本文记录一次线上 GC 问题的排查过程与思路,希望对各位读者有所帮助.过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上 GC 问题有帮助. 背景 服务新功 ...

  5. Consumer接口-Consumer接口的默认方法andThen

    Consumer接口 java.util.function.Consumer<T〉接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定. 抽象方法:a ...

  6. 静态代码块-数组工具类Arrays

    静态代码块 静态代码块: 定义在成员位置,使用static修饰的代码块{}. 位置:类中方法外. 执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行 格式: public clas ...

  7. Python读取大量Excel文件并跨文件批量计算平均值

      本文介绍基于Python语言,实现对多个不同Excel文件进行数据读取与平均值计算的方法.   首先,让我们来看一下具体需求:目前有一个文件夹,其中存放了大量Excel文件:文件名称是每一位同学的 ...

  8. 01 LED点灯

    新建一个STM32CubeIDE 新工程 选择自己的芯片型号,我的是STM32F103RCT6 选择工程保存位置,不能有中文路径,会报错 选择下载方式.一定要选,不然下次下载有问题 选择时钟来源,我的 ...

  9. 12月2日内容总结——边框属性,display属性,css盒子模型,浮动、溢出、定位、z-index属性和建议博客页面搭建

    目录 一.边框 边框简介 border-style--边框样式 border-width--边框宽度 border-color--边框颜色 二.display属性 三.CSS盒子模型 概念 margi ...

  10. Nginx03 虚拟主机

    1 虚拟主机 虚拟主机使用特殊的软硬件技术,把一台运行在因特网上的服务器主机分成一台台"虚拟"的主机,每一台虚拟主机都具有独立的域名,具有完整的Internet服务器(WWW.FT ...