随笔分类 - 硬件IIC
摘要:目录 硬件IIC的主从中断在582的最新EVT中已支持。 对于IIC从机中断,例程中已封装好中断处理过程,用户调用app_i2c时,初始化中需要配置回调函数。 初始化的配置如下。 struct i2c_slave_cb slave_user = { //配置回调结构体 .on_receive = i
阅读全文
摘要:目录 本文中使用582测试,在整合先前博客中的代码的基础上,加上读写超时,加上返回值,加上16位从机寄存器地址的判断,希望读写各用一个函数就能解决硬件IIC的使用问题。 #include "CH58x_common.h" #define TIME_OUT 10000 //用于IIC读写超时,等待n次
阅读全文
摘要:目录 沁恒蓝牙系列芯片中目前只有CH582/583以及208包含有硬件IIC外设,本文均使用582进行测试,其他沁恒芯片也可以参考本文排查。 先进行“常规”检查,检查相关引脚的焊接、线材是否断线或接触不良等问题,确定是否为IIC模块的问题。 如果582作硬件IIC主机: ①上电后是否进行了上电延时以
阅读全文
摘要:目录 沁恒的蓝牙系列芯片,有映射硬件模块去其他引脚的功能,可以配置各芯片的功能引脚重映射寄存器(R16_PIN_ALTERNATE),或者使用函数GPIOPinRemap函数进行配置。 比如说想要配置串口2重映射到PB22、23,可以调用如下代码↓ GPIOPinRemap(ENABLE, RB_P
阅读全文
摘要:目录 参考调试MPU6050与EEPROM的经验,整合了目标内存/寄存器地址是否为16位的情况,合并了单字节与多字节间的操作,添加了返回值与读写超时功能:硬件IIC的7位从机地址查询方式读写参考代码 - JayWell - 博客园 (cnblogs.com) 根据手上这片EEPROM的型号,24LC
阅读全文
摘要:目录 参考调试MPU6050与EEPROM的经验,整合了目标内存/寄存器地址是否为16位的情况,合并了单字节与多字节间的操作,添加了返回值与读写超时功能:硬件IIC的7位从机地址查询方式读写参考代码 - JayWell - 博客园 (cnblogs.com) 很久以前听说过硬件IIC的“难用”,也在
阅读全文