Unite Embed CTR https://bbs.21ic.com/?601464 [收藏] [复制] [RSS] 在生活中寻找自己的快乐!不停地发现自我!

日志

再说:STM32F103的I2C总线

已有 2514 次阅读2012-6-19 02:16 |个人分类:HOM3103|系统分类:ARM| ARM, I2C

        针对STM32F103的I2C总线,在网上有很多问题,这些问题表明,ST的工程师们可能也没有搞清楚I2C的协议吧,所以才导致非常多的人在测试或应用它的I2C时,出现这样那样的反正通不过的测试。而它的勘误表中也提到了I2C的问题,最终说明,STM32的I2C总线不可能通过查询状态的方法实现应用。


        我在开始测试时,实际上也遇到了这样的问题,搞了两天,就去看它的那个什么表,最后直接用DMA来操作I2C总线了。且使用DMA操作时,只有一个字节还是要出错的,通不过,因此在它的3.5的库中,它是这样处理的:多字节通讯时,使用DMA通讯,只有一字节时,使用中断。但绝对没有使用查询的方式。还有一点需要说明,在初始化I2C后,一定需要清除一次全部标志。


因此为STM32的I2C总线的应用,总结为以下三种方式是可行的:


1、查询标志的过程直接延时等待跳过


2、用中断


3、用DMA


绝对不能使用的方法:


软件查询标志状态位


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)