开源,STM32口线模拟I2C程序

2019-12-31 19:20发布

<p> 在STM32的I2C上摔了一跤,测试了官方提供的几个例程和库,都有不同缺陷,也无法弥补:</p><br><p> 1、查询方式,在连续读数据的过程中不能中断</p><br><p> 2、DMA方式类似,在同一DMA中I2C的级别必须最高,否则同1.</p><br><p> 3、中断方式也不能有更高优先级中断I2C,否则同1.</p><br><p> 鉴于以上原因,无奈的口线模拟了I2C。(仅仅代表个人看法,欢迎指正)</p><br><p> 附件中的项目文件已经过测试,为感谢OUR这几年的帮助,先开源这个小程序。</p><br><p>链接:&nbsp;https://pan.baidu.com/s/1by6r7jLqoLJuGR8bl6Sk4A&nbsp;提取码:&nbsp;jfkn&nbsp;复制这段内容后打开百度 {MOD}手机App,操作更方便哦</p><p><br></p>
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
96条回答
xrwf_2009
1楼-- · 2020-01-06 15:19
mark
hetao7241
2楼-- · 2020-01-06 20:22
 精彩回答 2  元偷偷看……
shouqiang_zhang
3楼-- · 2020-01-06 23:28
mark
kofkyok
4楼-- · 2020-01-07 01:55
我也喜欢模拟的,IIC反正不需要高速
in-my-memory
5楼-- · 2020-01-07 04:28
楼主,手册没说I2C查询方式不能被中断吧!
I2C确实设计的不好,很难用.
如果读取已知长度的数据还好,可以提前准备NAK,STOP,
如果读取未知长度的数据,必须多读3个字节才能发出STOP.
panda1988
6楼-- · 2020-01-07 06:14
回复【楼主位】ground
-----------------------------------------------------------------------

你好,我参考你的程序调试通过了MXC6202加速度传感器,想请教你一个问题:在STM32和从设备通信时要读回数据,可为什么只把STM32的模拟IIC引脚只设置为输出模式,哪读数据的时候数据是怎么输入到端口数据寄丛器的?

一周热门 更多>