×
单片机 > 单片机程序设计 > 详情

STM32F030 I2C 从模式中断编程

发布时间:2020-05-19 发布时间:
|

第一次用I2C的从模式,之前用的是主模式,用的IO模拟的,在很多设备都用上了,没什么问题。在使用I2C从模式之前,也在网上看到很多人说这个是坑。自己花了几天的时间,终于跳过了这个坑,再次总结下:


1. 最困难的地方:因为需要两个平台对接,主端用的是LINUX系统,芯片是TI335X,从端是STM32F030,我两端的程序都没写过,所以出现问题了,无法判定是哪一边的问题,这个很痛苦。


2. 例子。虽然“拿来主义”不太厚道”,但是站在巨人的肩膀上,往往是最快的。


1) STM32F030的代码:http://www.openedv.com/forum.php?mod=attachment&aid=NDczMzV8N2FkMWE1NWZ8MTU0MTUwMjI3MnwwfDY0NTIy


2)Linux的代码:http://blog.sina.com.cn/s/blog_13087b7fa0102wcyg.html


3. 实际上STM32F030写的已经很好了,只是我在调试过程中,总是huiy怀疑这怀疑那的,改了很多代码,做了很多打印信息,实际上证明我的怀疑都是错的。


4. Linux才是很大的坑,毕竟我很少在Linux下编程。


  1)ioctl返回的是成功失败的标志位,而我一开始以为是返回成功的字节数,这里花了半天时间,老是返回1,实际上就是成功的,而我认为应该范围我需要的长度。


2) 在读、写同时操作的时候,必须先读后写。我在调试的时候,先调试写的代码,是OK的,在调试度的代码,也是OK,最后合并的时候,也是OK。但是发现一断电重开机就不行,折腾几下右可以了。最后把读放在写前面就没在出现异常了。


以上,做个记录。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机的抗干扰措施有哪些