最近项目用到一款触摸ic 通过i2c读取键值。因为ic的协议和标准的i2c协议有点区别,导致读出的数据一直不对。
如下图所示,规格书上是连续读两位数据,而HAL库上是读完一位发送了一个ack,再读一下位,所以导致我现在读出来的第一位是正确的,第二位数据是不对的(貌似是左移了一位),
使用的是这个函数 HAL_I2C_Master_Receive(&hi2c1,0x89,rev,2,100);
本来想修改HAL库的底层,但是跳来跳去,还是没找到在哪里修改
是不是非标准的i2c协议只能用软件模拟的方式去读取?
有遇到同样情况的朋友吗?望指导一下!
聊聊关于stm32hal驱动非标准I2C协议的问题
![](http://uphotos.eepw.com.cn/1508239125/thumb/avatar.jpg)
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |