发现内核的algos模拟的i2c程序有个bug

[复制链接]
查看11 | 回复0 | 2021-1-27 06:10:03 | 显示全部楼层 |阅读模式
调试过程中i2c用了algos里的模拟程序,结果调试OV3640的时候device就是不给ACK,后来发现程序中的getsda过程没有处理完美,在drivers/i2c/algo/i2c-algo-bit.c中的i2c_outb函数中,输出8位数据后,函数在调用sclhi前调用了一个sdahi,这里有点问题,改成getsda就可以了,因为device需要在sclhi前host释放总线,改了之后问题就解决了,拿出来分享,望战斗在一线的小牛们不要踩一样的坑;
分 -->
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行