打印

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

[复制链接]
楼主: lut1lut
手机看帖
扫描二维码
随时随地手机跟帖
61
SuccessF| | 2009-9-7 13:39 | 只看该作者 回帖奖励 |倒序浏览
强烈期望楼主 能做个MDK工程的下的!!

使用特权

评论回复
62
ddb_21ic| | 2009-9-8 14:02 | 只看该作者
LZ如果能把I2C的处理流程、标志位、事件做一个描述就好了。
实际上,问题就出在I2C读数据的过程,读一个字节、两个字节、多个字节需要处理的标志位不一样。AN2824有完整的例程,MDK、IAR、RIDE的都有。
但是我们使用这样的代码仍然不知道为什么要这样操作,比起软件模拟I2C,代码很不好看。
模拟I2C的人那么多,不是没有理由的。

使用特权

评论回复
63
xlsbz| | 2009-10-28 12:55 | 只看该作者
强烈期望楼主 能做个MDK工程的下的!!
SuccessF 发表于 2009-9-7 13:39


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

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

嗨!!

使用特权

评论回复
64
火箭球迷| | 2009-11-16 21:58 | 只看该作者
学习。。。

使用特权

评论回复
65
yuq_quan| | 2009-11-30 10:16 | 只看该作者
对火箭球迷感兴趣,路过.

使用特权

评论回复
66
电子三极管| | 2009-12-4 14:48 | 只看该作者
智力超常的人毕竟不多。
大部分都是普通人。

使用特权

评论回复
67
fengchenh| | 2009-12-7 15:48 | 只看该作者
怎样才能把查询方式的封装库移植到V3.1.2的固件库上呢?
我移植了下,发现有许多函数找不到。
stm32f10x_systick.C
stm32f10x_nvic.C
这两个文件及其所包含的函数我到哪里找呢,反正V3.1.2的库里是找不到的。
MISC.C文件添加进去也没用。该配置的都配置了,固件库的差异太大了。
烦请lut1lut大哥移植一下呀。
个人水平有限,搞不定。

使用特权

评论回复
68
wklove_1124| | 2010-1-7 11:02 | 只看该作者
我看这里面的程序都只是7位地址的,如果有子地址或者是10位地址的,有相关程序吗?

使用特权

评论回复
69
火箭球迷| | 2010-2-24 23:12 | 只看该作者
好帖

使用特权

评论回复
70
cyclone168| | 2010-4-1 23:43 | 只看该作者
最近正在弄STM32的I2C 下载看看,应该有用

使用特权

评论回复
71
xsq5360| | 2010-7-12 21:08 | 只看该作者
目前在调试I2C,不稳定;无外接干扰时采用原V2.0.3库中的查询方式运行正常,一旦有干扰程序陷入I2C死循环中;
看到该贴决定采用中断方式,但直接采用库中函数:

I2C_Comm_MasterWrite();

发现无干扰时运行正常,有干扰时仍然存在程序停止的现象,不知何故(程序中并未在该写操作语句后加入while等待语句)

使用特权

评论回复
72
香水城| | 2010-7-13 10:05 | 只看该作者
目前在调试I2C,不稳定;无外接干扰时采用原V2.0.3库中的查询方式运行正常,一旦有干扰程序陷入I2C死循环中;
看到该贴决定采用中断方式,但直接采用库中函数:

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


什么样的干扰?什么量级的干扰?如何测试?

使用特权

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

使用特权

评论回复
74
hdp7891000| | 2010-11-15 14:21 | 只看该作者
54# lut1lut


请问代码越界发生在什么情况呢?

使用特权

评论回复
75
mcu520| | 2010-11-22 14:25 | 只看该作者
mark

使用特权

评论回复
76
hruid| | 2012-3-23 11:50 | 只看该作者
学习了。。。

使用特权

评论回复
77
wangzhi6894336| | 2012-11-4 17:54 | 只看该作者
你好,为什么我用DMA 与中断方式都调不通?我主机PB6,PB7 从机接PB10,PB11,用串口USART1打印到终端,接收到数据为0

使用特权

评论回复
78
Stephen_yu| | 2013-3-4 22:50 | 只看该作者
STM32F4的I2C还没用起来呢

使用特权

评论回复
79
hqfmcu201| | 2013-5-28 14:54 | 只看该作者
I2C 超时使用了Systick 函数,是否可以改其他定时来做呢.

使用特权

评论回复
80
jackzmh| | 2013-10-16 11:53 | 只看该作者
I2C看来不大好用啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则