最近项目用到一款触摸ic 通过i2c读取键值。因为ic的协议和标准的i2c协议有点区别,导致读出的数据一直不对。
如下图所示,规格书上是连续读两位数据,而HAL库上是读完一位发送了一个ack,再读一下位,所以导致我现在读出来的第一位是正确的,第二位数据是不对的(貌似是左移了一位),
使用的是这个函数 HAL_I2C_Master_Receive(&hi2c1,0x89,rev,2,100);
本来想修改HAL库的底层,但是跳来跳去,还是没找到在哪里修改
是不是非标准的i2c协议只能用软件模拟的方式去读取?
有遇到同样情况的朋友吗?望指导一下!
聊聊关于stm32hal驱动非标准I2C协议的问题
