发新帖我要提问
12
返回列表
打印
[STM8]

IIC模块真是摆设吗

[复制链接]
楼主: 明月小厨
手机看帖
扫描二维码
随时随地手机跟帖
21
金融小数| | 2013-12-26 17:03 | 只看该作者 回帖奖励 |倒序浏览
STM32的 I2C 这个冤案还没昭雪,STM8的 I2C 又要被冤枉吗?:dizzy:

使用特权

评论回复
22
seeker2010| | 2013-12-28 11:25 | 只看该作者
有些人自己没搞懂,就到这里发牢骚,下结论,寇帽子,真不知这样的人入这一行能有多大出息,还是静下心来好好看资料,

使用特权

评论回复
23
tianli1980| | 2013-12-28 20:37 | 只看该作者
我在使用stm32的的固件操作iic总是死在ev5,哪位朋友给指点下使用固件库有哪些注意事项?

使用特权

评论回复
24
明月小厨|  楼主 | 2014-1-2 14:32 | 只看该作者
本帖最后由 明月小厨 于 2014-1-2 14:33 编辑

IIC的确是很好的,但ST的IIC处理的效果真的很意外;如果是ST控制24C0X这样的,应该不会有什么问题,后面那个硬件反应的很快,而且布局时位置不会远,分布电容不会高,如果不是这样,ACK信号有可能出错,没检测到,一旦ACK信号过错了检测的时间段(很快),就意味着系统崩溃。当然多加些自己的程序,也许能恢复;也许不能;
出错后的情况就比较麻烦。最坏的情况是,必须重新上电,个别最最坏的情况下OPTION字节也会出错;

我现在没兴趣仔细排错。改用模拟IO;这个通讯的标准自己可以说了算。

如果ST能把ACK检测结果和其它标志分离开,系统就应该会好很多;

使用特权

评论回复
25
jjjkkk00| | 2014-1-2 16:04 | 只看该作者
吐槽一下,STM32F101x、STM32F100x的IIC确实很难用。
如果你是以上版本两块STM32单片机进行IIC主从:
正常时是没问题的。一旦出现BUSY错误导致的崩溃后,会让你死的很尴尬,虽然也有办法去解决这个问题,但过程很麻烦。
---------------------------
所以我的建议是:
一、不要拿自己的兄弟来玩主从。
二、换STM32F05x等等CM0的吧,它们的IIC已经是新的了。

使用特权

评论回复
评论
明月小厨 2014-2-7 23:59 回复TA
主要是从机要及时发出ACK信号,不然就麻烦了;如果从方是24CXX,应该很少出错的。 
26
明月小厨|  楼主 | 2014-1-2 16:18 | 只看该作者
本帖最后由 明月小厨 于 2014-1-2 16:22 编辑

BUSY错误的特点就是SCL,也许是SDA线被莫名其妙拉低(永远);好象是从机拉的;重新改写OPTION后才恢复过来;
奇怪的是这个毛病是发生在STM8S;
LPCXXXXX系列的I2C好用,几乎不出错;(没遇到过)

使用特权

评论回复
27
明月小厨|  楼主 | 2014-1-3 16:05 | 只看该作者
用IO端口自己模了,非常可靠。

使用特权

评论回复
28
明月小厨|  楼主 | 2014-2-7 21:24 | 只看该作者
结论:
单个测试I2C,也许是可以的,但一批批使用I2C,不保险。当然自己模的肯定保险,直接无视ACK信号。
没有现成的,不过I2C的时序我很清楚,临时写个也可以用;

特别感谢boyie;因为他说的明白,可以I2C,但容易出事;自己模不会出事;

使用特权

评论回复
29
明月小厨|  楼主 | 2014-2-7 21:25 | 只看该作者
我喜欢用I2C通讯,当然通讯的速度是不快的;主要是因为OC端口最安全;

使用特权

评论回复
30
香水橙| | 2014-2-7 22:28 | 只看该作者
这个IIC确实没问题,但用起来很麻烦,需要使用者非常了解IIC的协议才行,专家才能用好;因此可以说它的用户体验性不好!

使用特权

评论回复
31
明月小厨|  楼主 | 2014-2-7 23:51 | 只看该作者
本帖最后由 明月小厨 于 2014-2-7 23:52 编辑

1.我是自己试过了,没下功夫我承认,没下功夫的原因是怕可靠性不行;毕竟我是长距离通讯,不是很近;
2.我用过其它芯片的IIC,都比较麻烦,但没出过差错;
3.我看到STM32F0;对IIC部分进行了全新的的设计;如果F1或其它的I2C很好,为何要重新设计?
4.我承认,如果距离近的情况,从机和主机有一方不是STM,有可能可以,但二个STM在一起的时候,我真怕出事;这个麻烦我承担不起
5.ACK信号在I2C模块中,被绑的太紧了,一旦出错,全部卡死。
6.I2C的协议本身并不复杂。:)

使用特权

评论回复
32
明月小厨|  楼主 | 2014-2-7 23:55 | 只看该作者
ailing1314 发表于 2013-12-26 10:15
zet6的I2c调试成功,读写没问题,速度可达400k

我试过其它的I2C,速度最快在1MHZ以上,没事;

使用特权

评论回复
33
明月小厨|  楼主 | 2014-2-7 23:56 | 只看该作者
jjjkkk00 发表于 2014-1-2 16:04
吐槽一下,STM32F101x、STM32F100x的IIC确实很难用。
如果你是以上版本两块STM32单片机进行IIC主从:
正常 ...

同感;多谢

使用特权

评论回复
34
yhn1973| | 2014-2-8 10:15 | 只看该作者
两个CPU通讯的话可以用SPI,比IIC可靠、距离远、效率高。SPI可以是推挽方式,而IIC只能是上拉方式,所以SPI比IIC传输距离远,抗干扰强,另外SPI从机的接收数据是双缓冲的,而IIC没缓冲,不用DMA下SPI主机发送2个字节的数据之间也可以做到没有延时。

使用特权

评论回复
35
zhangyang86| | 2014-2-11 18:59 | 只看该作者
多次测试发现IIC不是很稳定。。。所以我们用模拟。。。

使用特权

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

本版积分规则