8753|19

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教版主STM323.0的库函数有没有IIC的问题? [复制链接]



请教版主STM32 3.0的库函数有没有IIC的问题?
正准备做个项目希望 版主 给个答复!!
此帖出自stm32/stm8论坛

最新回复

                                 我们没有必要深入了解IIC的原理。我们是应用者。深的原理应该是科学家们的事。这才是工程师的工作 这位朋友说的是一种理想情况,也是我们努力的目标。但是目前我们还达不到这个水平,我们并不需要你深入了解IIC的原理,但还是需要一些基本知识,毕竟从事MCU的工作还不是完全的没有门槛。 即使是傻瓜相机也还不能做到完全的操作无忧,先不说照片的艺术性和构图,没有一些基本的摄影知识,你还是会拍出曝光不足、曝光过度、成像模糊的照片,不是说有了傻瓜相机之后,人人都能拍出好的照片。  详情 回复 发表于 2010-1-15 17:49
点赞 关注
 

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 嘿嘿,会用就没有问题,不会用就不好说了,
此帖出自stm32/stm8论坛
 
 

回复

73

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
                                 呵呵,确实是这样,调过I2C的肯定问题就不会很大
此帖出自stm32/stm8论坛
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 版主滑头,等于没说
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
版主滑头,等于没说
sunmonth 发表于 2010-1-12 20:13

请大侠指教。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

6
 


版主我就想问,只用官方的3.0库,函数 读写IIC设备,会不会有2.0库死机问题?
当然IIC设备我是调试过的,应用程序肯定没问题。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 等待回答!!
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 必须对3.0库的例子做修改
此帖出自stm32/stm8论坛
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(初级)

9
 
官方发布的固件库,不管是哪一个版本,都是经过测试才发布的,对于楼主的问题,简单的回答只有两种:“有问题”或“没有问题”。

如果回答“有问题”,任何人(包括我和你)都会质疑,既然知道有问题为什么还要发布出来,为什么不改正。因此,显然这不是正确的答案。

答案只剩下“没有问题”,但我相信这不是楼主要的答案,否则他没有必要问这个问题,因此才有了我在2楼的回答。

----------------
我上面已经说了,在发布每个版本的库之前,都是经过了严格的测试,在我们这里肯定不会出现所谓死机的问题。但从现实的角度讲,任何软件都可能有漏洞,都可能有想不到的地方,这就要具体情况具体分析;而在不知道楼主的具体环境是什么、不知道楼主具体如何操作如何编程的情况下,我无法回答6楼的问题。
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

10
 
                                 实际上,在我用过的几款MCU里面,普遍的问题是SPI比I2C都要简单的多,I2C在哪款MCU上都不是那么容易就用明白的,绝大部分出现问题的也都是自己的软件有问题,动不动就怀疑某MCU的I2C接口是不是有问题的,大部分都是功夫没下到位。。。
此帖出自stm32/stm8论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

11
 
2.9 I2C peripheral
2.9.1 Some software events must be managed before the current byte is
being transferred
Description
When the EV7, EV7_1, EV6_1, EV2, EV8, and EV3 events are not managed before the
current byte is being transferred, problems may be encountered such as receiving an extra
byte, reading the same data twice or missing data.
Workarounds
When it is not possible to manage the EV7, EV7_1, EV6_1, EV2, EV8, and EV3 events
before the current byte transfer and before the acknowledge pulse when changing the ACK
control bit, it is recommended to:
1. use the I2C with DMA in general, except when the Master is receiving a single byte
2. use I2C interrupts and boost their priorities to the highest one in the application to make
them uninterruptible
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

12
 
sunmonth  的文档是从ST官方网站的勘误表里摘出来的
这段文字至少说明IIC不好用
如果非要用硬件IIC,应用方法有两种
1、用DMA方式,人家说了不适合作为主设备且只接收单字节的情况,而很多应用就需要这个功能
比如我用的PCF8574,要读出状态就要读单个字节
2、用IIC中断方式,且设中断优先级最高。这种方式太可怕,我的所有中断都要被其打断,比如定时器中断被延时了,外部中断响应延时,还有就是容易产生中断的嵌套,中断嵌套是嵌入式系统中容易产生故障很重要一点。
用软件模拟也很好,400KHz对STM32处理器来说完全处理得过来。
用硬件IIC中延时也是死循环中等待,占用的时间与软件是一样的,我现在已经用软件模拟了,从来没有出现过问题。
注:我的一个系统里IIC器件有:PCF8574(IIC转8路IO芯片),AD795G(高速模拟开关),24LC64,还有其它DA器件的控制引脚通过PCF8574的输出引脚来控制的,可以说一旦IIC坏,整个系统就坏了。
再说一句:软件模拟效率不低,希望版主也推荐软件模拟方式。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

13
 
                                 版主还是想说,会用就没问题,不会用就有问题,呵呵
此帖出自stm32/stm8论坛
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(初级)

14
 
就是说3.0的库也要对其进行相应的改动。
OK我知道了,谢谢楼主及诸位的回答!
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

15
 
                                 我用3.12的库做I2C,没问题。
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

16
 
                                 15楼,你没试出问题,不等于没问题
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

17
 
支持一句,没试出问题,不等于没问题
我一直觉得IIC有问题,后来我新建了个项目,代码重添进去
两个星期没出问题,我就以为我调好了
谁知过一段时间后又出现了偶而不能用的问题,我好可怕,也好庆幸
产品是用在飞机测控的,万一出了问题,老板不骂死我了!
偶而不能用,最可怕的问题
我现在已经改为软件模拟了,真的很好使,而且自己也可以定义各种故障代码
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

18
 
                                 我们没有必要深入了解IIC的原理。我们是应用者。深的原理应该是科学家们的事。这才是工程师的工作
此帖出自stm32/stm8论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

19
 
                                 ST官方的库,用起来容易出问题,即使是最新的库。用论坛的本地工程师写的库,可能会好点。
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

20
 
我们没有必要深入了解IIC的原理。我们是应用者。深的原理应该是科学家们的事。这才是工程师的工作
这位朋友说的是一种理想情况,也是我们努力的目标。但是目前我们还达不到这个水平,我们并不需要你深入了解IIC的原理,但还是需要一些基本知识,毕竟从事MCU的工作还不是完全的没有门槛。

即使是傻瓜相机也还不能做到完全的操作无忧,先不说照片的艺术性和构图,没有一些基本的摄影知识,你还是会拍出曝光不足、曝光过度、成像模糊的照片,不是说有了傻瓜相机之后,人人都能拍出好的照片。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表