OpenEdv-开源电子网

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

为什么我的IIC通讯速度那么低

[复制链接]

60

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
364
金钱
364
注册时间
2012-1-12
在线时间
92 小时
发表于 2013-11-11 20:40:51 | 显示全部楼层 |阅读模式
 void IIC_Send_Byte(u8 txd)
{
u8 t;
SDA_OUT();
IIC_SCL=0;//拉低时钟开始数据传输
for(t=0;t<8;t++)
{
IIC_SDA=(txd&0x80)>>7;
txd<<=1;
delay_ms(1); //对TEA5767这三个延时都是必须的
IIC_SCL=1;
delay_ms(4);
IIC_SCL=0;
}
}

自从买了原子哥的开发板,我学习了好多,同时也像其他同学推荐了好多,都说很好。在这里要谢谢原子哥了。
今天的这个难题已经好多天了,
最近用STM32F103VET6模拟IIC来和一个传感器通讯,刚开始用原子哥的程序来通讯就是不成功,出现了很多莫名其妙的问题,弄了两个星期之后,今天我才发现
我把发送函数里面的延时时间改长了好多倍就可以正常通讯了,大家看清楚我可是改为毫秒级别的了,程序中的delay_ms(4);
改为3ms就不行,这样数据是读出来了,但是影响了我其他程序,包括按键程序,因为只运行这个IIC程序就要40ms,其他的关于IIC的程序都和原子哥的一模一样没有问题,
也没有改动。
电路上我上拉10k、4.7k、2k、1k我都试过了都不行,并且这两根通讯线很短,这到底是为什么呢?原子哥!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2013-11-12 09:57:06 | 显示全部楼层
回复【楼主位】47933673:
---------------------------------
一般I2C的传感器没那么慢吧,看下传感器的I2C时序。
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-11-12 12:21:10 | 显示全部楼层
回复【楼主位】47933673:
---------------------------------
IIC一般是不超所400K的频率都没问题,不过有些器件就很蛋疼了,手册上限制在什么100K以内的,实际用300K传输都可以的。

楼主还是仔细看看相关的数据手册,了解下他的传输频率吧,不同的器件有设定不同的频率范围的,呵呵
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

60

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
364
金钱
364
注册时间
2012-1-12
在线时间
92 小时
 楼主| 发表于 2013-11-12 19:16:54 | 显示全部楼层
这个传感器手册上面说的是可以达到400kHZ,如果要说这个传感器速率低的话,为什么我发送程序频率都是很高的,都是用原子哥的程序,为什么就接受程序需要延时这么长时间
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-11-15
在线时间
6 小时
发表于 2017-11-15 08:58:32 | 显示全部楼层
亲,我遇到了和你一样的问题,请问您的问题解决了吗?
回复 支持 反对

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
发表于 2017-11-15 10:15:18 | 显示全部楼层
团长前人 发表于 2017-11-15 08:58
亲,我遇到了和你一样的问题,请问您的问题解决了吗?

你没看到他的  发送函数里面用的是延时 是  ms级别的吗    我只能呵呵。

自己选择的路,成家前走完。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-11-15
在线时间
6 小时
发表于 2017-11-15 10:46:49 | 显示全部楼层
延时大了影响其他部分,所以希望降低延时
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2019-11-8
在线时间
6 小时
发表于 2019-12-4 19:16:08 | 显示全部楼层
I2C 400K, 有什么方法可以提高速度吗?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 21:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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