这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 聊聊关于stm32hal驱动非标准I2C协议的问题

共12条 1/2 1 2 跳转至

聊聊关于stm32hal驱动非标准I2C协议的问题

工程师
2020-03-18 21:44:19     打赏

最近项目用到一款触摸ic 通过i2c读取键值。因为ic的协议和标准的i2c协议有点区别,导致读出的数据一直不对。

如下图所示,规格书上是连续读两位数据,而HAL库上是读完一位发送了一个ack,再读一下位,所以导致我现在读出来的第一位是正确的,第二位数据是不对的(貌似是左移了一位),

使用的是这个函数  HAL_I2C_Master_Receive(&hi2c1,0x89,rev,2,100);

本来想修改HAL库的底层,但是跳来跳去,还是没找到在哪里修改

是不是非标准的i2c协议只能用软件模拟的方式去读取?

有遇到同样情况的朋友吗?望指导一下!




关键词: stm32     协议     I2C     总线     BUS    

工程师
2020-03-18 22:05:29     打赏
2楼

说明下,第二张图是逻辑分析仪上采集到的时序。数据中间比规格书上多了一位ack,可能就是这个原因导致第二位数据不正确。


工程师
2020-03-18 22:12:22     打赏
3楼

小心遭遇硬件bug哦,非标准的最好还是gpio bitbang,避免浪费大量时间,经验之谈!


工程师
2020-03-18 22:18:00     打赏
4楼

非标,我个人之见,还是用软件模拟来搞吧!


高工
2020-03-19 12:31:09     打赏
5楼

软件iic,想咋改咋改哈哈


工程师
2020-03-21 18:54:51     打赏
6楼

了解一下


高工
2020-03-24 21:16:06     打赏
7楼

是个复杂的问题


工程师
2020-04-05 16:35:32     打赏
8楼

这是个问题


助工
2020-04-14 22:12:02     打赏
9楼

据说ST因专利原因,自带的IIC驱动设计的不好用,具体我也没试过。一般都是GPIO模拟,很方便。


工程师
2020-04-15 16:51:59     打赏
10楼

确实是个问题


共12条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]