请问STM32 I2C的I2C_OwnAddress1作为从设备和主设备调用address是同一个地址吗

2019-07-14 14:06发布

用过STM32的前辈,请问下就是在STM32中配置I2C端口时,I2C_OwnAddress1说是设备地址,是一个8位数据,我想问下它作为从设备时,和主设备调用I2C_Send7bitAddress(I2Cx, address, direction)这个库函数中的address是不是同一个地址,如果是,我看别人写的有些代码将这个address
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
kdkashd
1楼-- · 2019-07-14 19:55
 精彩回答 2  元偷偷看……
maruidiyi
2楼-- · 2019-07-14 21:54
I2C_OwnAddress1是STM32设备本身的地址,一般STM32作为主设备,可以不用关心这个地址设置,随意设置个数就行,但是如果STM32作为从设备使用时,必须进行配置。
I2C_Send7bitAddress(I2Cx, address, direction)这个address指的是外设器件从设备地址,比如挂载EEPROM时,通常是0xA0.这个地址不能和
I2C_OwnAddress1混淆。
函数参数direction是读写位,它和地址符做运算,这个看看IIC协议讲的很明白的
lingbingdie
3楼-- · 2019-07-14 23:42
回复第 2 楼 于2014-01-14 09:18:37发表:
I2C_OwnAddress1是STM32设备本身的地址,一般STM32作为主设备,可以不用关心这个地址设置,随意设置个数就行,但是如果STM32作为从设备使用时,必须进行配置。
I2C_Send7bitAddress(I2Cx, address, direction)这个address指的是外设器件从设备地址,比如挂载EEPROM时,通常是0xA0.这个地址不能和
I2C_OwnAddress1混淆。
函数参数direction是读写位,它和地址符做运算,这个看看IIC协议讲的很明白的
 
 

就是当我STM32作为从设备时,我用另外一个STM32给它发送数据时,写的从地址,是不是就是第一个STM32的I2C_OwnAddress1?
maruidiyi
4楼-- · 2019-07-15 04:36
回复第 3 楼 于2014-01-14 13:41:52发表:
回复第 2 楼 于2014-01-14 09:18:37发表:
I2C_OwnAddress1是STM32设备本身的地址,一般STM32作为主设备,可以不用关心这个地址设置,随意设置个数就行,但是如果STM32作为从设备使用时,必须进行配置。
I2C_Send7bitAddress(I2Cx, address, direction)这个address指的是外设器件从设备地址,比如挂载EEPROM时,通常是0xA0.这个地址不能和
I2C_OwnAddress1混淆。
函数参数direction是读写位,它和地址符做运算,这个看看IIC协议讲的很明白的
 
 

就是当我STM32作为从设备时,我用另外一个STM32给它发送数据时,写的从地址,是不是就是第一个STM32的I2C_OwnAddress1?
 

对,一般这种从地址只有双MCU通信才会用到,两个MCU之间可以通过各种串行和并行口通信,IIC因为通信简单而广泛使用,作为从机时,I2C_OwnAddress1地址的设定值,可以参考一下ST官网的例程给定的值。
Sabrina_cc
5楼-- · 2019-07-15 08:20
I2C_OwnAddress1是STM32设备本身的地址
I2C_Send7bitAddress(I2Cx, address, direction)是外接设备的地址
东少2016
6楼-- · 2019-07-15 11:58
 精彩回答 2  元偷偷看……

一周热门 更多>