打印

I2C从机地址问题???

[复制链接]
7041|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Volitation|  楼主 | 2007-3-29 17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
lanmp| | 2007-3-29 17:37 | 只看该作者

那就是只能作主

使用特权

评论回复
板凳
Volitation|  楼主 | 2007-3-29 17:41 | 只看该作者

也可以做从机阿

c8051f330就是这样的一款没有从机地址寄存器的mcu。它可以配置为从机。
所以不是很清楚它在从机时是如何知道其他主机在寻找它的。

使用特权

评论回复
地板
lanmp| | 2007-3-29 17:42 | 只看该作者

有固定的从机地址?

使用特权

评论回复
5
Volitation|  楼主 | 2007-3-29 17:45 | 只看该作者

好像没有固定的从机地址

其他型号像c8051f020就有从机地址寄存器.用来设置当它被配置为从机时的从机地址.

使用特权

评论回复
6
qjy_dali| | 2007-3-29 23:01 | 只看该作者

没有从机地址,岂不乱了

使用特权

评论回复
7
volitation| | 2007-3-30 08:34 | 只看该作者

可以这样理解吗?

在c8051f330的手册上将其设置为从接收器时,有这样一段话:
“在SDA上接收串行数据,在SCL上接收串行时钟。在从事件被允许的情况下(INH = 0),当接收到一个起始条件(START)和一个含有从地址和数据方向位(此处应为写)的字节时,SMBus接口进入从接收器方式。在进入从接收器方式时将产生一个中断,并且ACKRQ被置‘1’。软件用一个ACK对接收到的从地址确认,或用一个NACK忽略接收到的从地址。如果接收到的从地址被忽略,从事件中断将被禁止,直到检测到下一个起始条件。如果收到的从地址被确认,将接收0个或多个字节的数据。在每接收到一个字节后,软件必须向ACK位写ACK或NACK,对接收字节作出应答。”
这是不是说,要写一段中断服务程序,用来判断这个地址是否是其它主机在找它通讯?也就是说。c8051f330虽然没有从机地址寄存器,但是我们可以给它定一个不和其它设备冲突的软地址,然后在其被配置为从机时,对其它主机的每次寻址通讯,都会产生一个中断,然后在中断服务程序里进行地址判断,如果是找自己,就响应(ACK),不是自己就不响应(NACK)。
同时,如果是这样的话,是不是可以给这种类型的mcu(没有地址寄存器)分配多个地址,反正都是通过中断服务程序来判断其它主机是否找自己通讯。
这样的理解大家看看对不对?

使用特权

评论回复
8
popmu| | 2007-3-30 08:47 | 只看该作者

既然硬件不支持,可以在串口程序里用软件弥补吗:)

使用特权

评论回复
9
Volitation|  楼主 | 2007-3-30 09:48 | 只看该作者

硬件支持i2c

c8051f330支持硬件i2c接口,只是没有从机地址寄存器。

使用特权

评论回复
10
popmu| | 2007-3-30 12:59 | 只看该作者

我觉的可以的

使用特权

评论回复
11
w165661916| | 2015-4-17 17:18 | 只看该作者
结贴的还可以回复让LZ知道吗?小弟也在做这类似的项目,不知道你最后用什么 方式得到的地址,求告知;

使用特权

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

本版积分规则

6

主题

11

帖子

0

粉丝