OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13212|回复: 10

STM32 的 IIC 是鸡肋

[复制链接]

16

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2015-12-21
在线时间
18 小时
发表于 2015-12-23 22:27:56 | 显示全部楼层 |阅读模式

 《STM32F1开发指南-库函数版本_V3.1》中说”STM32 的 IIC 是鸡肋!请谨慎使用。“不知道具体指的是什么?有缺陷还是?

STM32的I2C接口用过一次,不过由于从51一直以来都是软件模拟,所以感觉硬件用起来很变扭,不过用着很正常。

另外感觉STLINK2太抠了,超高速USB3.1都出来了,还用全速USB,12M比高速480M差太远了,调试起来反应很迟钝,体验很差。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2019-6-4
在线时间
15 小时
发表于 2019-8-26 17:31:31 | 显示全部楼层
STM32的I2C的Bug:因为ack信号时间很短暂,一旦错过了这个短暂的ACK信号,STM32就挂了。CPU要处理很多不同的任务,一旦其他任务占用了CPU,ACK就容易被错过。
官网不承认这个Bug,给出的解决方案是:用最高优先级的DMA来实现I2C传输。
我以前用I2C就遇到过这种问题,改成状态机的方式后就没有问题了,把I2C中断的优先级设成最高的。
回复 支持 1 反对 0

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-2-26 15:23:00 | 显示全部楼层
STM32的I2C据说是因为专利问题,故意搞得这么麻烦的,人家也没办法。。。

就好像某摄像头的控制总线,明明就是I2C的时序,硬生生地起个名字SCCB。。。
坚决不用寄存器,拒绝重复造轮子。
回复 支持 1 反对 0

使用道具 举报

2

主题

239

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2015-6-5
在线时间
110 小时
发表于 2015-12-24 13:15:56 | 显示全部楼层


12345
回复 支持 反对

使用道具 举报

13

主题

276

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2014-6-20
在线时间
146 小时
发表于 2015-12-24 13:16:44 | 显示全部楼层
STM32的IIC确实不怎么好用
关于USB问题,其实12M已经足够了,想想芯片频率就知道了,F1最高72M,480M的速度用上去完全就是尾巴大头小,
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-24 13:31:25 | 显示全部楼层
F1 的IIC好像有缺陷,硬件IIC似乎很难调通。
至于高速接口完全没必要。现在最高端的手机拷文件也没达到USB3.1的速度,能到2.0算是不错了,何况一个调试器?
回复 支持 反对

使用道具 举报

13

主题

225

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
金钱
289
注册时间
2013-11-12
在线时间
29 小时
发表于 2015-12-24 17:32:56 | 显示全部楼层
IIC估计是有点难调,但是应该算不上什么缺陷吧,毕竟还是有人在用赛!
回复 支持 反对

使用道具 举报

16

主题

73

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2015-12-21
在线时间
18 小时
 楼主| 发表于 2015-12-24 21:15:20 | 显示全部楼层
以前一直用JLINK,所以感觉STLINK速度很慢
回复 支持 反对

使用道具 举报

0

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2014-1-6
在线时间
60 小时
发表于 2015-12-25 15:34:32 | 显示全部楼层
I2C不是很难吧,用MDK5.17 + Keil.STM32F1xx_DFP.2.0.0.pack,使用官方I2C驱动,参考http://www.keil.com/pack/doc/CMSIS/Driver/html/group__i2c__interface__gr.html#example
很快就搞定了,STLINK-V2的速度就是有点慢。
回复 支持 反对

使用道具 举报

6

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2014-10-21
在线时间
7 小时
发表于 2016-2-26 14:41:40 | 显示全部楼层
MARK下,ST IIC使用中!
爱电子,爱科技,爱新技术
回复 支持 反对

使用道具 举报

9

主题

167

帖子

0

精华

高级会员

Rank: 4

积分
552
金钱
552
注册时间
2013-12-15
在线时间
29 小时
发表于 2016-2-26 14:58:15 | 显示全部楼层
硬件IIC只是对时序要求更精准,用还是可以的
我是初学者
专注显示科技 - - - 让每一DOT诠释生命的精彩
TFT显示屏:   https://boy-display.taobao.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 14:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表