历史上的今天
今天是:2025年04月02日(星期三)
2019年04月02日 | STM32F030 I2C 从模式中断编程
2019-04-02 来源:eefocus
第一次用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。但是发现一断电重开机就不行,折腾几下右可以了。最后把读放在写前面就没在出现异常了。
以上,做个记录。
上一篇:STM32的I2C主从机通信
史海拾趣
|
最近朋友里,谈及K3比较多,于是找了个K3的扫盲文章,来分享下,准备一点点整懂K3,如果有兴趣,一起来吧~~~ 华为为“山寨手机”供应芯片? 没错,它正走在联发科的道路上。手机终端业务在华为的手里是个“鸡肋”的角色,但是华为现在却开始在“山 ...… 查看全部问答> |
|
最近在做一个可视对讲的系统,其中有个留影留言的功能,因为一些原因,暂时没有压缩视频,分辨率是320*240,yuv420格式。一桢是115200字节。留影留言时,会把从网络接收到的视频存入文件。目前是保存到SD卡,但是发现写入一桢,消耗了 ...… 查看全部问答> |
|
我的程序是以分辩率320*240做的,现在PDA换了,是640*480的,界面全乱了,我想改一下分辩率,这是最简单的了,希望大家帮我!… 查看全部问答> |
|
哪位朋友在ARM下调试过DE模式的屏的驱动呀,LCD一般是SYNC模式的,但我现在拿到一个屏是DE MODE ONLY的,没有HSYNC和VSYNC请问怎么调呀!… 查看全部问答> |
|
请问电脑中\"内存范围\"和\"输入输出范围\"是指? 请问在“系统属性”->“设备管理器”看硬件资源选项中的“内存范围”和“输入输出范围”是指什么意思?如网卡内存范围:EA000000-EA0000FF COM口输入输出:范围:03F8-03FF,到底是 ...… 查看全部问答> |




