iic通信协议时序
答:他由3根线组成分别叫SDA,SCL,GND,SDA为数据线,SCL为时钟线,GND为参考电平,就是0电平 通信原理是通过对SCL和SDA线高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平 I2C总线上的每一个设备都可以作为主...
答:答案是:因为说的不是一条线上的高低电平。你若想不通应答信号,你可以思考一下起始信号和停止信号,都是将SCL拉高,然后在SDA上变化电压来发出不同命令,IIC通信协议明确规定,当SCL为高时,数据要求绝对稳定,只有在SCL为低时数据才可以变化,也就是才能开始传递数据,为什么要求SCL为高时数据稳定,就...
答:IIC通信是 先发送读/写信号的地址,然后再发送数据,每次发送完之后都会有从设备的应答,应答说明通信成功。建议你去看一下IIC协议的书或者 网页,了解这个协议就知道怎么去写程序,下面我给解释一下几行代码,其余的依葫芦画瓢就行了。IIC_Start();//准备进行IIC通信 IIC_Send_Byte(WriteGYAddress);...
答:也就是主机可以随时向从机发送数据,但只能等主机访问才能从机才能应答。这个是标准IIC协议。不知道符不符合你对双机通信的要求。电路图很简单,只用连上2条上,上拉个电阻就可以啦。IIC通信的原理参考飞利浦的标准,两线特定的状态实现数据传输开始,应答,结束等等,多看看时序图就了解啦。但是大多数的...
答:IIC总线\x0d\x0a一般串行数据通讯都有时钟和数据之分,有异步和同步之别.\x0d\x0a有单线,双线和三线等.\x0d\x0a\x0d\x0aI2C肯定是2线的(不算地线).\x0d\x0a\x0d\x0aI2C协议确实很科学,比3/4线的SPI要好,当然线多通讯速率相对就快了.\x0d\x0a\x0d\x0aI2C的原则是:\...
答:iic即Inter-Integrated Circuit,是一种串行总线通信协议,用于在芯片间进行通信。iic改变意味着芯片间的通信方式发生了改变,新的协议可传输更多数据,速度更快,同时消耗更少的能量。iic改变体现了科技的进步与创新,不断推动着电子设备的发展。iic改变对生产与应用的影响 iic改变对电子行业产生了深刻的影响...
答:UART就是两线,一根发送一根接收,可以全双工通信,线数也比较少。数据是异步传输的,对双方的时序要求比较严格,通信速度也不是很快。在多机通信上面用的最多。SPI:高速同步串行口。3~4线接口,收发独立、可同步进行 UART:通用异步串行口。Uart,SPI和I2C的区别UART就是两线,一根发送一根接收,可以...
答:IIC ( Inter-Integrated Circuit )其实是 IIC Bus简称,所以中文应该叫 集成电路总线 。它是一种串行通信总线,使用多主从架构,由 飞利浦 公司在1980年代为了让 主板 、 嵌入式系统 或 手机 用以连接低速周边设备而发展。I 2 C的正确读法为“I平方C”("I-squared-C"),而“I二C”("I-two...
答:scl=0;delay();sda=1;delay();写完数据的停止标志 for(i=0;i<8;i++){ scl=1;delay();k=(k<<1)|sda;scl=0;delay();} return k;} 读取8位数据,即k值,完成后同样要给停止标志
答:uart 是异步通信,IIC是同步的;uart只需要数据线,IIC需要数据线和时钟线。IIC的数据和时钟是严格对齐的,在你接收或者发送数据时候要严格按照时钟来;uart你只需要知道你发送的数据波特率,程序编写时设置好位长度。ptoribus 是过程现场总线,主要应用在自动化领域,PROFIBUS协议结构是根据ISO7498国际标准,...
网友评论:
父饶17664377225:
用GPIO模拟IIC总线,主要是通过什么实现时序? -
36123松卖
: IIC总线只有两条线(SCL和SDA),IIC协议其实就是这两条线上的数据传输的时序规定. 主控制芯片通过向IO口(已经与从芯片的IIC端口SCL和SDA连接)按从芯片提供的IIC协议有序并配合地输出高低电平,从而模拟出能实现IIC通信的时序.
父饶17664377225:
请教51模拟iic通信中的问题 -
36123松卖
: IIC总线的时序,好像是:最高频率在400KHz.单片机指令的执行时间,速度快,所以要加延时.停止函数,是在SCL=1期间,SDA出现上升,那么SDA先要为0,这个0,要在SCL=0实现.
父饶17664377225:
一个IIC协议的小问题~~求前辈点拨 -
36123松卖
: 建议详细了解IIC的协议,按照协议规定,总线空闲时两线为高,当进行通信时,SDA在SCL高电平时由高变低表示通信开始( void iic_start(void) ),以后传输数据,SDA只能在SCL为低的时候才能发生变化,在SCL上升抓取数据;而停止位是在SCL高时SDA由低变高 (void iic_stop(void) ). 其实只要满足了协议要求最终两线处于什么状态也许都是可以的,或者你也可以试下在某些地方将SCL最终由低又拉为高是否能正常,当然首要还是在符合协议规定的前提下.
父饶17664377225:
IIC中的有时钟线,时钟线不应该是有晶振这样的东西产生固定频率的脉冲的吗 -
36123松卖
: 因为IIC是用于通讯的, 由IO口控制就可以想发就发, 想停就停, 想快就快, 想慢就慢. 而且通讯时钟时序上具有一定的要求(看IIC协议的规定), 而晶振只能输出固定的频率, 不能按通讯要求输出合适的时序.
父饶17664377225:
2个stm8的单片机如何进行iic通讯 -
36123松卖
: 无所谓啊.....只要双方的准则可以认同就OK了.....通信就像人与人交流,只有大家的规则都一样才可以交流嘛,如果你说普通话,对方说方言,肯定是没法交流的....同理,单片机也是一样,只要你做好双方的应答规则,就可以了....不过首先你需要做的是时序的事,如何确定0和1,如何表示数据位的开始,如何确定数据位的结束,如何有效的纠正数据位的错位....如果这些做好了...那接下来才是上层的工作,如果说你一次传送的是32位,那么上层的工作就是这32位是如何分配的,例如前面的几位是表示什么意思,最后面的几位是表示的纠错位等等.....不知道给你点提示了没....
父饶17664377225:
iic的硬件结构 -
36123松卖
: I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL.所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上.为了避免总线信号的混乱,要求各设备连接到总线的输...
父饶17664377225:
谁给我I2C通信协议,要详细的. -
36123松卖
: 一. 技术性能: 工作速率有100K和400K两种; 支持多机通讯; 支持多主控模块,但同一时刻只允许有一个主控; 由数据线SDA和时钟SCL构成的串行总线; 每个电路和模块都有唯一的地址; 每个器件可以使用独立电源 二. 基本工作原理: 以...
父饶17664377225:
用单片机模拟IIC时序,起始信号和应答信号是一样的啊? -
36123松卖
: IIC的地址你可以自己定义的在硬件上提供过IIC地址的你可以直接选择他的地址进行发送像你这种情况的话可以自己定义地址:假设你有两台或者以上的S3C2410,单片机作为主机,然后单片机发送数据,所有S3C接收(接收的前提是他的接收...
父饶17664377225:
linux下怎么直接使用iic接口 -
36123松卖
: 利用Linux中IIC设备子系统移植IIC设备驱动 背景描述 IIC总线在嵌入式系统中应用十分广泛,常见的有eeprom,rtc.一般的处理器会包含IIC的控制器,用来完成IIC时序的控制;另外一方面,由于IIC的时序简单,使用GPIO口来模拟时序也是常见的...