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

回复
有奖活动 | |
---|---|
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |