STM32 I2C 封装库(查询方式+29楼中断方式+32楼DMA方式)

[复制链接]
40528|88
SuccessF 发表于 2009-9-7 13:39 | 显示全部楼层
强烈期望楼主 能做个MDK工程的下的!!
ddb_21ic 发表于 2009-9-8 14:02 | 显示全部楼层
LZ如果能把I2C的处理流程、标志位、事件做一个描述就好了。
实际上,问题就出在I2C读数据的过程,读一个字节、两个字节、多个字节需要处理的标志位不一样。AN2824有完整的例程,MDK、IAR、RIDE的都有。
但是我们使用这样的代码仍然不知道为什么要这样操作,比起软件模拟I2C,代码很不好看。
模拟I2C的人那么多,不是没有理由的。
xlsbz 发表于 2009-10-28 12:55 | 显示全部楼层
强烈期望楼主 能做个MDK工程的下的!!
SuccessF 发表于 2009-9-7 13:39


我早就让楼主弄了!!可是楼主懒得弄啊!!

香主也懒得弄!!
大概意思是 弄这个太简单了 没有必要弄!!

嗨!!
火箭球迷 发表于 2009-11-16 21:58 | 显示全部楼层
学习。。。
yuq_quan 发表于 2009-11-30 10:16 | 显示全部楼层
对火箭球迷感兴趣,路过.
电子三极管 发表于 2009-12-4 14:48 | 显示全部楼层
智力超常的人毕竟不多。
大部分都是普通人。
fengchenh 发表于 2009-12-7 15:48 | 显示全部楼层
怎样才能把查询方式的封装库移植到V3.1.2的固件库上呢?
我移植了下,发现有许多函数找不到。
stm32f10x_systick.C
stm32f10x_nvic.C
这两个文件及其所包含的函数我到哪里找呢,反正V3.1.2的库里是找不到的。
MISC.C文件添加进去也没用。该配置的都配置了,固件库的差异太大了。
烦请lut1lut大哥移植一下呀。
个人水平有限,搞不定。
wklove_1124 发表于 2010-1-7 11:02 | 显示全部楼层
我看这里面的程序都只是7位地址的,如果有子地址或者是10位地址的,有相关程序吗?
火箭球迷 发表于 2010-2-24 23:12 | 显示全部楼层
cyclone168 发表于 2010-4-1 23:43 | 显示全部楼层
最近正在弄STM32的I2C 下载看看,应该有用
xsq5360 发表于 2010-7-12 21:08 | 显示全部楼层
目前在调试I2C,不稳定;无外接干扰时采用原V2.0.3库中的查询方式运行正常,一旦有干扰程序陷入I2C死循环中;
看到该贴决定采用中断方式,但直接采用库中函数:

I2C_Comm_MasterWrite();

发现无干扰时运行正常,有干扰时仍然存在程序停止的现象,不知何故(程序中并未在该写操作语句后加入while等待语句)
香水城 发表于 2010-7-13 10:05 | 显示全部楼层
目前在调试I2C,不稳定;无外接干扰时采用原V2.0.3库中的查询方式运行正常,一旦有干扰程序陷入I2C死循环中;
看到该贴决定采用中断方式,但直接采用库中函数:

I2C_Comm_MasterWrite();
发现无干扰时运行正常,有 ...
xsq5360 发表于 2010-7-12 21:08


什么样的干扰?什么量级的干扰?如何测试?
hityaowei 发表于 2010-7-15 18:39 | 显示全部楼层
楼主:我最近刚接触STM32,也在搞I2C,结果用软件模拟就可以,看了楼主的帖子打算用楼主的中断硬件方式试试,结果连波形都没有不知道我错在哪里了?
步骤是不是
时钟初始化
中断初始化
IO口初始化,包括IO口时钟初始化
I2C初始化,包括时钟和管脚以及中断
然后就是发数据
我用的是楼主的中断方式的程序
结果返回来的 i2c_comm_state=1;
而且通过示波器看 SDA,SCL一直没有波形
我用的是PB12和PB13
用的是STM32103R8
望各位朋友给予帮助
谢谢
我这是第一次在论坛留言。。。
hdp7891000 发表于 2010-11-15 14:21 | 显示全部楼层
54# lut1lut


请问代码越界发生在什么情况呢?
mcu520 发表于 2010-11-22 14:25 | 显示全部楼层
hruid 发表于 2012-3-23 11:50 | 显示全部楼层
学习了。。。
wangzhi6894336 发表于 2012-11-4 17:54 | 显示全部楼层
你好,为什么我用DMA 与中断方式都调不通?我主机PB6,PB7 从机接PB10,PB11,用串口USART1打印到终端,接收到数据为0
Stephen_yu 发表于 2013-3-4 22:50 | 显示全部楼层
STM32F4的I2C还没用起来呢
hqfmcu201 发表于 2013-5-28 14:54 | 显示全部楼层
I2C 超时使用了Systick 函数,是否可以改其他定时来做呢.
jackzmh 发表于 2013-10-16 11:53 | 显示全部楼层
I2C看来不大好用啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部