stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
rt,两片直连,怎么设定从机的iic地址呢 ?哪里看啊,手册上没找到啊RE:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
这个地址,我的理解是需要你自己用软件设置,不过好像ST的那个有一个寄存器吧,但是我没有看到,我是用软件方式自己设置的.回复:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
回复第 2 楼 于2012-08-10 13:41:36发表:这个地址,我的理解是需要你自己用软件设置,不过好像ST的那个有一个寄存器吧,但是我没有看到,我是用软件方式自己设置的.
我查了很多资料上都说,具备iic构造的器件都自带连到总线上的地址,不过手册上没找到,也没看到你说的那个寄存器
软件方式自己怎么设置呢? 自己随便给个暗号,两边对上就行么?
RE:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
你说的是器件的唯一地址吗?如果是主从地址应该是自己定义的。:D回复:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
I2C器件的地址就是 存储器的管教A0 A1 A2,拉高或者置低。读写操作的时候把地址加在命令里就可以了!RE:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
这个地址是自己设定的吧,00074 /* I2C1 configuration: SMBus Host ------------------------------------------*/
00075 I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusHost;
00076 I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
00077 I2C_InitStructure.I2C_OwnAddress1 = I2C1_SLAVE_ADDRESS7;
00078 I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
00079 I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
00080 I2C_InitStructure.I2C_ClockSpeed = ClockSpeed;
00081 I2C_Init(I2C1, &I2C_InitStructure);
00082
00083 /* I2C2 configuration: SMBus Device ----------------------------------------*/
00084 I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusDevice;
00085 I2C_InitStructure.I2C_OwnAddress1 = I2C2_SLAVE_ADDRESS7;
00086 I2C_Init(I2C2, &I2C_InitStructure);
00087
00088 /* Enable I2C2 ARP */
00089 I2C_ARPCmd(I2C2, ENABLE);
结构体里面写的很清楚哦
RE:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
关于硬件和软件定义的问题,I2C器件出厂时必须自带地址,要不然还要标准有啥用,不过有的是自身芯片固定好了,因为集成在MCU内部了,有的有几个引脚出来专门规定地址范围,选址,你通过给这几个引脚硬件规定0|1,排列组合来确定,程序所能做的就是自身设为主机或从机,如果是主机的话,那就选择从机的地址与之通信!6楼程序说的都很清楚了,你试试看看,不行的话看需要配置硬件接口不需要...回复:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
回复第 6 楼 于2012-08-14 17:48:08发表:这个地址是自己设定的吧,
00074 /* I2C1 configuration: SMBus Host ------------------------------------------*/
00075 I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusHost;
00076 I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
00077 I2C_InitStructure.I2C_OwnAddress1 = I2C1_SLAVE_ADDRESS7;
00078 I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
00079 I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
00080 I2C_InitStructure.I2C_ClockSpeed = ClockSpeed;
00081 I2C_Init(I2C1, &I2C_InitStructure);
00082
00083 /* I2C2 configuration: SMBus Device ----------------------------------------*/
00084 I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusDevice;
00085 I2C_InitStructure.I2C_OwnAddress1 = I2C2_SLAVE_ADDRESS7;
00086 I2C_Init(I2C2, &I2C_InitStructure);
00087
00088 /* Enable I2C2 ARP */
00089 I2C_ARPCmd(I2C2, ENABLE);
结构体里面写的很清楚哦
谢谢,给新手讲解的很详细。我主要是想问,那个slave address7 怎么定义。是自己随便设置,还是按照器件本身自带的。自带的话,107的板子我没找到,我现在在做2块107板子的通信
回复:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
回复第 6 楼 于2012-08-14 17:48:08发表:这个地址是自己设定的吧,
00074 /* I2C1 configuration: SMBus Host ------------------------------------------*/
00075 I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusHost;
00076 I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
00077 I2C_InitStructure.I2C_OwnAddress1 = I2C1_SLAVE_ADDRESS7;
00078 I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
00079 I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
00080 I2C_InitStructure.I2C_ClockSpeed = ClockSpeed;
00081 I2C_Init(I2C1, &I2C_InitStructure);
00082
00083 /* I2C2 configuration: SMBus Device ----------------------------------------*/
00084 I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusDevice;
00085 I2C_InitStructure.I2C_OwnAddress1 = I2C2_SLAVE_ADDRESS7;
00086 I2C_Init(I2C2, &I2C_InitStructure);
00087
00088 /* Enable I2C2 ARP */
00089 I2C_ARPCmd(I2C2, ENABLE);
结构体里面写的很清楚哦
谢谢,给新手讲解的很详细。我主要是想问,那个slave address7 怎么定义。是自己随便设置,还是按照器件本身自带的。自带的话,107的板子我没找到,我现在在做2块107板子的通信
回复:stm32f107互联型的iic器件地址是多少啊?【悬赏问答】
回复第 4 楼 于2012-08-13 21:09:26发表:你说的是器件的唯一地址吗?如果是主从地址应该是自己定义的。:D
谢谢,现在也是这样解决的。随便设置了2个值,两边对上暗号就行了
页:
[1]
2