纯属发发牢骚,既然选择了STM32,再困难也要**下去的

[复制链接]
21190|58
wklove_1124 发表于 2009-12-30 14:15 | 显示全部楼层
能给个QQ号吗?
winloop 发表于 2009-12-30 14:36 | 显示全部楼层
绝对OK的,放心用吧,我都用好久了
wklove_1124 发表于 2009-12-30 14:55 | 显示全部楼层
但是我用的还是在
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED));
在这里跑死了
winloop 发表于 2009-12-30 15:19 | 显示全部楼层
那是别的原因,把I2C频率降低试试
午夜霓虹 发表于 2009-12-30 16:40 | 显示全部楼层
我用的模拟的,72m的主频,50m的io速度,用i2c硬件的时候也总是死掉,原先用过51的,也不怎么好用,spi可能是用习惯了,觉得还可以,stm32的spi我还没用过,主要是spi的器件价格比较高,而且软件模拟也有好处,超时处理起来比较方便。
秋天落叶 发表于 2009-12-30 21:32 | 显示全部楼层
是的,例程只能参考,不能直接拿来用
RUNNER 发表于 2010-1-5 19:04 | 显示全部楼层
I2C本来就用模拟方式,硬件纯粹多余,Ti的DSP我都直接用模拟,现成程序,用的熟,硬件耗资源
有意思 发表于 2010-1-6 00:03 | 显示全部楼层
真是不敢用ST的所谓库函数,
dfsa 发表于 2010-1-6 14:07 | 显示全部楼层
I2C是比较难调的,要花点时间
djb20042008 发表于 2010-1-6 17:15 | 显示全部楼层
今天用3.0的库函数 用万利的开发板测试I2C,没发现问题,一切OK,估计楼上的出问题是不是哪个配置没配置好哦!
yybj 发表于 2010-1-7 13:01 | 显示全部楼层
我比较赞成用软件模拟
wklove_1124 发表于 2010-1-8 11:47 | 显示全部楼层
能把你的软件模拟程序发上来参考一下啊
晴朗005 发表于 2010-1-11 09:04 | 显示全部楼层
估计是库的问题造成,30楼可否把你的成功代码给参考一下,我现在要STM32做为IIC从机,模拟IIC从机估计不好搞,还是得用上STM32的硬件IIC功能,或者有硬件IIC成功的朋友给指点一下,谢谢啦,QQ:312590606。
晴朗005 发表于 2010-1-11 09:06 | 显示全部楼层
还有,我这里有模拟IIC的成功程序,需要的朋友可以联系,我发过去给你就行。
byeyear 发表于 2010-1-11 10:20 | 显示全部楼层
不止st一家的i2c不好玩,我早前用pxa255的i2c也照样死掉。
除了st自己例子里说的要把中断设为最高优先级还有些语句要关中断执行以外
本身i2c状态机的设计也是有缺陷的
比如master模式还在跑(成功发出start但是还没有stop),而且没有丢失仲裁,
会在外部干扰比较大的时候跑进slave中断
原因是外部干扰在i2c上引发了start条件,于是进slave了,于是master和slave状态机同时跑,于是死掉了。
我的系统上了os,event超时后复位i2c模块,跑得还行。
比pxa好,pxa的i2c死掉以后复位模块都没有用,得复位cpu
nxp的好,毕竟是娘家,不会出现master slave同时跑的情况
调试的时候火大得想在外面加块nxp的i2c片子算了
sunmonth 发表于 2010-1-12 20:25 | 显示全部楼层
ls说的全面
gx_huang 发表于 2010-1-13 12:51 | 显示全部楼层
我也调试了好久,终于发现了问题。
ST的例程有错误,对PAGE的边界处理不好。
另外主要错误是设置成了400KHz,原来板上的24C16在3.3V时是100KHz的。
怪不得单步的时候基本是好的,连续跑就死机了。
mohanwei 发表于 2010-1-13 13:12 | 显示全部楼层
一直**用I/O模拟的……
xsgy123 发表于 2010-1-13 15:14 | 显示全部楼层
软件模拟本来比硬件实现要简单些
machunshui 发表于 2010-7-9 13:54 | 显示全部楼层
本帖最后由 machunshui 于 2010-7-9 13:55 编辑

一群懒惰,不肯动脑筋的家伙。

放着高效的硬件模块不会用,

浪费了巨大的系统资源用IO模拟,

还洋洋自得
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部