1,i2c通信从机

看一下iic协议就明白了,一个始终一个数据,按顺序发送写命令,发送高地址,发送器件地址(单片机存储器地址),写数据,发送低地址,进入接收模式,直到退出。
太专业了 这种问题建议您去一些专业性比较强的论坛提问

i2c通信从机

2,i2c 当一个从机10位 前7位一样

这个在协议里详细写着,我可以大概说下从机A(7)和从机B(10)是不可能前七位一样的,因为在制定协议的时候已经预留了10位地址查询的前四位,而任何七位从机地址前四位是不可能和这个相同的,当然也包括其他预留的地址,比如广播呼叫,等等,有七八个预留的呢,所以想链接B的话,那么它的地址肯定是不会和7位地址冲突的
看一下iic协议就明白了,一个始终一个数据,按顺序发送写命令,发送高地址,发送器件地址(单片机存储器地址),写数据,发送低地址,进入接收模式,直到退出。

i2c 当一个从机10位 前7位一样

3,总线协议的I2C能和通过232或者485和西门子200通讯吗

I2C和SPI总线类似,都是主从模式的总线,I2C和SPI总线上可以挂多个从设备,但是只能有一个主设备。 串口通信是一种全双工通信,有3种电气特性,分别是RS232,RS422,RS485。其中RS232是点对点的通讯,两个通讯端之间的收发都是独立的;RS422可以做到一个发送,多个接收;RS485是半双工的工作方式,但是可以做到多个发送多个接收,即挂在总线上的设备都可以进行发送跟接收。总之,I2C,SPI总线与串口之间的最大区别在于,串口通信可以做到互相收发,而I2C,SPI总线只能有一个主设备,另外的都是从设备,无论读取还是写入,都由主设备发起。
好像是s7协议, 不公开的

总线协议的I2C能和通过232或者485和西门子200通讯吗

4,多个传感器与单片机进行I2C通信时如何设置从机的I2C地址

从属地址有2中形式,由addr端口决定,如果addr端口接高电平,则地址是1011100;如果addr接低电平,则从属地址是0100011。
这个手册上肯定有 如何根据地址发送数据的 应该会有一个命令设置从机的地址从而实现数据的接收
看芯片的说明吧,还有芯片的地址引脚配置,有些芯片的地址是可以配置的。
传感器的I2C地址是否可设置?多个传感器是否相同?如果既不可设置、又个个相同,那是没法接在同一个I2C总线里面的。
每个器件接到不同的IO口上,就可以了,就是多用很多IO口,程序也多了。

5,I2c总线一般拿来实现什么功能

在介绍I2C总线结构之前。要搞清楚两个概念:I2C总线控制器和I2C设备。I2C总线控制器为微控制器或微处理器提供控制I2C总线的接口,它控制所有I2C总线的特殊序列、协议、仲裁、时序,这里指MPC8250提供的I2C总线控制接口。I2C设备是指通过I2C总线与微控制器或微处理器相连的设备,如EEPROM、LCD驱动器等,这里指EEPROM。 在一个串行数据通道中.I2C总线控制器可以配置成主模式或从模式。开发过程中,MPC8250的I2C总线控制器工作在主模式,作为主设备;与总线相连的I2C设备为AT24C01A型EEPROM,作为从设备。主设备和从设备都可以工作于接收和发送状态。总线必须由主设备控制,主设备产生串行时钟控制总线的传输方向,并产生起始和停止条件。

6,I2C总线数字调谐收音机

天收音机I2C读程序调试好了,用设置电台方式,收到了一个电台,由此验证了收音机芯片是OK的。 现总结一下I2C标准协议:依次对读写总规则,开始位,地址,数据,回应和结束位进行总结。1. 读写总规则:数据在时钟为低时可以改变,即可以在时钟为低时准备好数据;时钟变高时,数据由“主设备”写入到“从设备”或从“从设备”读出来。2.开始位 开始位定义:时钟为高时,数据由高变低。每笔数据传输都要以“开始位”作为开始。3.地址 每个从设备都有自己的地址,每个设备有两个地址——写入地址和读出地址,两个地址的前7bit是一样的,最后一位(bit0)为0表示写入地址,数据由“主设备”写入到“从设备”;最后一位(bit0)为1表示读出地址,数据从“从设备”读出来给“主设备”。4.数据 数据以字节为最小单位进行写入或读出。一笔数据可以包含1个字节或多个字节。5.回应 无论写入还是读出,每一个byte都有一个回应(为低)。分为两种——写入回应和读出回应。写入回应是由“从设备”发出的,“主设备”写完8个bit(一个字节)后,要在第9bit读“从设备”发出的回应,以此判断是否正确写入。读出回应是由“主设备”发出的,“主设备”读完8bit之后,要在第9bit写回应,以此通知“从设备”,“主设备”是否正确读出。6.结束位 结束位定义:时钟为高时,数据由低变高。每笔数据传输都要以“结束位”作为结束。

7,linux下i2c 从设备地址什么时候传

Write CMD: 1.Start 2.DeviceAddr 3.RegIndex 4.Data 5.Stop
假设手上有一块从淘宝上买来的开发板,我要在开发板的i2c总线上增加一个从设备(如at24c08),那么我要怎样写这个“i2c设备驱动”,让 应用程序可以访问at24c08呢? 先来看一个最简单的i2c设备驱动: static struct i2c_board_info at24cxx_info = i2c_board_info("at24c08", 0x50), //一项代表一个支持的设备,它的名字叫做“at24c08”,器件地址是0x50};static struct i2c_client *at24cxx_client;static int at24cxx_dev_init(void) struct i2c_adapter *i2c_adap; //分配一个适配器的指针 i2c_adap = i2c_get_adapter(0); //调用core层的函数,获得一个i2c总线。这里我们已经知道新增的器件挂接在编号为0的i2c总线上 at24cxx_client = i2c...假设手上有一块从淘宝上买来的开发板,我要在开发板的i2c总线上增加一个从设备(如at24c08),那么我要怎样写这个“i2c设备驱动”,让应用程序可以访问at24c08呢?先来看一个最简单的i2c设备驱动: static struct i2c_board_info at24cxx_info = i2c_board_info("at24c08", 0x50), //一项代表一个支持的设备,它的名字叫做“at24c08”,器件地址是0x50};static struct i2c_client *at24cxx_client;static int at24cxx_dev_init(void) struct i2c_adapter *i2c_adap; //分配一个适配器的指针 i2c_adap = i2c_get_adapter(0); //调用core层的函数,获得一个i2c总线。这里我们已经知道新增的器件挂接在编号为0的i2c总线上 at24cxx_client = i2c_new_device(i2c_adap, &at24cxx_info); // 把i2c适配器和新增的i2c器件关联起来,这个用了i2c总线0,地址是0x50。这就组成了一个客户端 at24cxx_client i2c_put_adapter(i2c_adap); return 0;}static void at24cxx_dev_exit(void) i2c_unregister_device(at24cxx_client);}module_init(at24cxx_dev_init);module_exit(at24cxx_dev_exit);从上面的程序可以看到,写一个i2c设备驱动程序,与写普通的字符驱动基本一样。特别之处是它调用了i2c的core层的函数,以获得对i2c总线的控制。因为用的是开发板,板上的与soc芯片(一般来说就是arm的芯片)i2c总线驱动一般都做好了,直接调用core层的函数就可以控制soc的i2c模块了。也就是说,写i2c设备驱动不需要关注arm内部的i2c模块的寄存器,我们需要关注的是设备(at24c08)的寄存器以及它的datasheet对时序的要求。其实,添加i2c设备的方法很灵活。根据linux的官方文档《linux-3.4.2\documentation\i2c\instantiating-devices》,添加i2c设备的方法总结有4种:1. i2c_register_board_info:根据总线编号、设备名字(“at24c08”)、设备地址(0x50)注册一个字符驱动。这种方法最简单、最粗暴,最贴近平时在开片机上开发i2c器件的。2. i2c_new_device:根据i2c总线的编号,声明一个i2c设备:这种方法就是上面例子用的方法。这种方法也简单,但是需要事先知道器件挂接在哪条总线上。对于设备,还实现知道了设备地址0x50,总线适配器也支持名字为“at24c08”的设备3. i2c_new_probed_device:4.从用户空间实例化一个器件:这个方法相当智能快速,如下输入指令,即可增加一个i2c设备,同时增加了对应的设备文件。# echo eeprom 0x50 > /sys/bus/i2c/devices/i2c-3/new_device 根据英文文档的标题,添加i2c设备有称之为“i2c设备的实例化”。从上述可以知道,在实例化一个i2c设备之前,除了有对应的驱动支持总线外(这里是总线0),还需要有一个驱动使用了总线0发送时序,支持名字为"at24c08"的器件。这个驱动用总线驱动的函数,配置了at24c08的寄存器。

文章TAG:i2c从设备  设备  多少  
下一篇