OpenEdv-开源电子网

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

两个单片机通过I2C通讯的问题

[复制链接]

25

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-8-10
在线时间
39 小时
发表于 2017-10-20 17:27:27 | 显示全部楼层 |阅读模式
1金钱
两个单片机通过I2C通讯需要什么约定?比如波特率等等要设置一样的么?路过的指点一下,谢谢!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

129

主题

397

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2017-7-12
在线时间
150 小时
发表于 2017-10-20 18:20:51 | 显示全部楼层
波特率,数据位,校验位,晶振。这些一般要一样。软件上的延时最好也一样
回复

使用道具 举报

25

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2017-8-10
在线时间
39 小时
 楼主| 发表于 2017-10-20 19:25:39 | 显示全部楼层
余一水 发表于 2017-10-20 18:20
波特率,数据位,校验位,晶振。这些一般要一样。软件上的延时最好也一样

就像串口通讯一样?
回复

使用道具 举报

129

主题

397

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2017-7-12
在线时间
150 小时
发表于 2017-10-21 16:17:01 | 显示全部楼层
折腾无止境 发表于 2017-10-20 19:25
就像串口通讯一样?

不是,看错了。。。。。
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2017-11-27
在线时间
4 小时
发表于 2017-11-27 15:13:21 | 显示全部楼层
大概说一下:
IIC协议的设置参数比串口通讯的要求低一些,IIC协议主要用于元器件之间的通讯,通讯距离比较短。
硬件上,IIC协议需要3根线,时钟SCL,数据SDA,公共端GND。
需要将用于IIC协议通讯的端口设置为开漏模式(硬件IIC可能不需要此设置),并通过上拉电阻接至VCC,上拉电阻是必须要有的(器件内部集成了上拉电阻外部才能省略)。
时钟和数据线的高电平相当于端口被释放(悬空),只是被上拉电阻拉为高电平。
当需要新增器件时,直接将新增器件的时钟和数据线接入已有总线,硬件上不需要改动。

IIC协议通讯时的时钟信号由主机提供,频率可以很低很低,频率也可以不是固定值,。
IIC协议通讯是主从模式,必然存在主机和从机,主机有绝对的控制权。
IIC协议通讯方向是双向的,通讯时的开始和停止信号及从机地址,读或写都是由主机指定。
IIC协议通讯发送或接收数据都是按字节传输,数据接收方接收完一个字节的数据后需要返回应答信号,否则就需要等待,或者认为传送失败,中止通讯或重新开始通讯。
IIC协议协议支持同时连接多个器件,从机必须要有地址。而主机的地址不是必须的(多主机通讯时才需要,那时候其实主机也只能称为从机了)

以上是我自己的理解,如果有歧义,请以IIC协议官方为准。
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2017-11-27 20:30:11 | 显示全部楼层
楼上说的啥波特率啥的那个都是异步串口通讯的内容,不是IIC的。

一般来讲,两个单片机通过IIC通信,要规定一个作为主机,一个作为从机。之后的数据协议就仿照着各类IIC芯片通讯协议就可以了,也可以自拟协议。
十六进制带我飞。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-11-27 23:45:21 | 显示全部楼层
两个单片机之间,建议用串口通信。IIC搞起来麻烦,效率也不高。
回复

使用道具 举报

17

主题

354

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2017-5-21
在线时间
340 小时
发表于 2017-12-1 17:53:39 来自手机 | 显示全部楼层
我也想用iic做单片机通信,准备用硬件的
回复

使用道具 举报

17

主题

354

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2017-5-21
在线时间
340 小时
发表于 2017-12-3 14:23:01 来自手机 | 显示全部楼层
我的32f030双机通信做好了,用CR1的PE位解决数据线释放
回复

使用道具 举报

6

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-8-23
在线时间
12 小时
发表于 2018-10-18 09:41:49 | 显示全部楼层
l6931639 发表于 2017-12-3 14:23
我的32f030双机通信做好了,用CR1的PE位解决数据线释放

有代码吗,老哥
回复

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-1-14
在线时间
8 小时
发表于 2019-1-14 14:54:18 | 显示全部楼层
GAOSIY 发表于 2018-10-18 09:41
有代码吗,老哥

同问zsdn
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 13:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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