打印
[STM32F1]

大家用STM32的时候,为什么热衷于软件模拟IIC,SPI端口?

[复制链接]
17860|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bear1|  楼主 | 2014-12-3 18:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
而不用芯片上自带的硬端口,这不是浪费开发时间和资源吗?
沙发
mmuuss586| | 2014-12-3 19:14 | 只看该作者

硬件IIC,主要是ST的调试比较麻烦,花时间;
SPI的话,估计大部分人都是用硬件SPI的;
我用硬件SPI控制过8个外设;

使用特权

评论回复
板凳
styleno1| | 2014-12-3 20:19 | 只看该作者
不知道是不是被代表的多了,形成了误导。
我非主流地俩种都用的硬件。

使用特权

评论回复
地板
zhudongpo| | 2014-12-3 20:40 | 只看该作者
SPI一直用的硬件,IIC还是模拟的

使用特权

评论回复
5
596142041| | 2014-12-3 21:20 | 只看该作者
SPI接口一直使用硬件,IIC用过,但是遇到问题一直没解决,果断用软件模拟

使用特权

评论回复
6
icecut| | 2014-12-3 21:44 | 只看该作者
看 st,iic 的一个说明.如果 iic 死了,应该怎么办...这个办法太复杂.所以很少人用.

原因是某一天,**的 iic 协议升级了,支持多 master,于是好多厂商被坑了,然后用户又被坑了....

使用特权

评论回复
7
bear1|  楼主 | 2014-12-3 21:50 | 只看该作者
icecut 发表于 2014-12-3 21:44
看 st,iic 的一个说明.如果 iic 死了,应该怎么办...这个办法太复杂.所以很少人用.

原因是某一天,**的 iic  ...

怎么有*号,某一天 是哪一天?
没看明白。

使用特权

评论回复
8
明月小厨| | 2014-12-4 10:19 | 只看该作者
本帖最后由 明月小厨 于 2014-12-4 10:21 编辑

STM32F1XX系列的I2C有错误;所以用I2C硬件去实现的时候,出现的异常,很难排除;可是ST一直不承认。好象STM8也有这个问题。
但ST后续的一些产品中,申明了I2C部分进行了全新的设计。(没有问题为何要重新设计?);我被它坑的极惨。损失极大!

浪费很多的时间来查问题所在,结论是用IO端口模拟I2C的通讯正常;用硬件模块自动处理,行不通!

它不是摆设,是陷阱!

使用特权

评论回复
9
王七七| | 2014-12-4 10:30 | 只看该作者
spi用硬件的 比较方便,不用模拟时序。

使用特权

评论回复
10
icecut| | 2014-12-4 11:18 | 只看该作者
bear1 发表于 2014-12-3 21:50
怎么有*号,某一天 是哪一天?
没看明白。

星号是骂人被屏蔽了.

某一天不重要,现在的芯片包括 msp430,都是复杂的 iic,支持多 master 的.从设备可以拉死 clk 阻止主设备启动

使用特权

评论回复
11
bear1|  楼主 | 2014-12-4 11:31 | 只看该作者
icecut 发表于 2014-12-4 11:18
星号是骂人被屏蔽了.

某一天不重要,现在的芯片包括 msp430,都是复杂的 iic,支持多 master 的.从设备可以 ...

也就是说 支持“复杂的iic”的芯片,用硬iic都会有问题,是吗?

使用特权

评论回复
12
mcu5i51| | 2014-12-4 14:35 | 只看该作者
武断了

使用特权

评论回复
13
NE5532| | 2014-12-4 16:19 | 只看该作者
用硬I2C最好用中断,不然判断起来东西太多了,还有ST的I2C确实做得有点弱智了,很多操作,让你做你就做,把结果返给我就可以了,它自己却要干预流程,关你P事啊。

使用特权

评论回复
14
icecut| | 2014-12-4 17:31 | 只看该作者
bear1 发表于 2014-12-4 11:31
也就是说 支持“复杂的iic”的芯片,用硬iic都会有问题,是吗?

用起来都麻烦.大家都不愿意用.已经成了惯例了.有很多不需要处理的东西,软件都要处理.

使用特权

评论回复
15
通宵敲代码| | 2014-12-4 18:04 | 只看该作者
萝卜白菜各有所爱!
能解决问题才行!

使用特权

评论回复
16
cool_coder| | 2014-12-4 21:14 | 只看该作者
SPI和I2C我都用的硬接口,I2C用起来就是麻烦,不过到目前为止,还没有发现不稳定。

使用特权

评论回复
17
bear1|  楼主 | 2014-12-4 21:31 | 只看该作者
cool_coder 发表于 2014-12-4 21:14
SPI和I2C我都用的硬接口,I2C用起来就是麻烦,不过到目前为止,还没有发现不稳定。 ...

iic是用 中断的吗?

使用特权

评论回复
18
cool_coder| | 2014-12-4 21:34 | 只看该作者
bear1 发表于 2014-12-4 21:31
iic是用 中断的吗?

用中断和DMA配合,并且和数据量有关,有点麻烦

使用特权

评论回复
19
wangzhihai1986| | 2014-12-4 22:35 | 只看该作者
明月小厨 发表于 2014-12-4 10:19
STM32F1XX系列的I2C有错误;所以用I2C硬件去实现的时候,出现的异常,很难排除;可是ST一直不承认。好象STM ...

1系列的I2C就是不好用,不过其它系列和SPI一样好用。

使用特权

评论回复
20
摩天轮1111| | 2015-8-24 14:19 | 只看该作者
明月小厨 发表于 2014-12-4 10:19
STM32F1XX系列的I2C有错误;所以用I2C硬件去实现的时候,出现的异常,很难排除;可是ST一直不承认。好象STM ...

我也不清楚这个是怎么回事,硬件确实难调一点,不过可以肯定的一点,硬件iic网上流传的代码都是半斤八两,直接拿来估计都是跑的问题多多的,软件的就不清楚了,我没有深入研究过,硬件的我说说我的感受,甚至有时候你操作eeprom,你的硬件iic代码写的有问题他也一样能操作,换到别的器件上去就不好使了,够奇葩吧,找也找不到原因,不过十有**还是程序问题,我就遇到过,操作eeprom一切正常,操作mpu6050就不正常,最后还是代码问题,如果用硬件iic,要很深入的看明白st手册中的操作时序,不然十有**有问题,我现在的硬件iic工作的很正常,不过想不通的是软件模拟的iic,你们怎么准确控制通讯速度,比如是100kbps,还是200kbps,还是400kbps?这个怎么确定呢?

使用特权

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

本版积分规则

150

主题

953

帖子

1

粉丝