发一个完全独立的stm32硬件中断i2c驱动

2019-12-27 19:00发布

本帖最后由 seewolf 于 2014-9-28 17:56 编辑

前段时间调一个i2c传感器,被迫需要用stm32硬件i2c通信,stm32的硬件i2c是出了名的不好用,所以之前一直避开不用,这次没办法了遂深入研究了下。
先是在论坛里搜了下没找到完全独立的驱动,只有一些模拟的或者用于EEPROM的硬件i2c驱动,在这里把我写的独立的i2c驱动分享给大家,希望能对大家有所帮助!
驱动里单个字节读写用的是硬件i2c,多个字节读写用的是DMA,我在裸机程序和RT-thread上都调试过,应该没有大bug了,但冗余比较多,格式也不太规范,需进一步优化,这个就靠大家自己来了,嘿嘿~(在这里还要感谢“lj2505”分享的用于EEPROM的i2c驱动,给了我很大启发。)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
seewolf
1楼-- · 2019-12-30 07:45
guolun 发表于 2015-5-20 17:34
被I2C折腾几天了。看了你的程序,非常的规范。中断不设定为最高优先级,可以吗?因为我其他的中断也要这个 ...

最好设置为最高优先级,否则还是容易出错,具体的还是需要你自己来权衡,优先级设低一点也不见得一定会出问题。
落草火子
2楼-- · 2019-12-30 09:51
STM32学习中
liang16888
3楼-- · 2019-12-30 15:33
是i2c 从机的代码 感谢楼主
lazyfans
4楼-- · 2019-12-30 16:59
 精彩回答 2  元偷偷看……
seewolf
5楼-- · 2019-12-30 21:59
lazyfans 发表于 2016-6-10 14:41
完全独立的是指什么

完全独立就是纯粹的驱动,可以直接移植的
不舍的六年
6楼-- · 2019-12-31 00:38
谢谢前辈的IIC驱动,一直都是模拟。。有时间测试下!!

一周热门 更多>