怎样理解i2c的时序图
答:I2C总线是边沿有效的,也就是说在时钟边沿(上升或下降,具体忘记了)产生时的数据才会被认为有效, 先置数据状态,再给个时钟信号去读取才是正确的方法,如果先拉高时钟再放数据的话,那么时钟的上升沿对应的数据无效。查看一下I2C总线的时序图, 如果先置SDA的话,SCl的边沿就可以反映出数据脚状态,...
答:,你可以查阅一下你使用的ic手册,看看里面的时序图,尤其是关于上升沿和下降沿的时间。因为执行完这个start函数之后,单片机还要做返回指令还有调用下一个函数指令,在微观上来讲,已经过去很长时间了,大概几个机器周期已经逝去了。所以对于外部i2c设备来说没有问题,在读写时scl已经是低电平了。
答:你这个I2C模拟的很不好,要根据I2C时序图延时,不是随便写。给你一个图例吧。这个就是I2C要求。I2C的协议不用我说了吧,网上找。
答:I2C进行写操作时,时钟线SCL要拉低,数据线SDA才允许变化,读取的时候时候SCL要拉高保持数据稳定。我也是新手,I2C的时序很简单,你用什么芯片,你上网查那个芯片,看芯片的说明文档就明白了,里面有写入和读取的详细时序图,你写程序按他的时序来写就行了。再看看别人怎么说的。
答:看完上述描述后感觉比较糊涂,具体看不出来这是哪个协议的接口形式,但是有一点是任何协议都一致的,那就是你列出来的时序图。从图中大约可以看出来SCL高电平期间SDA是不变的,也就是说从SDA读取数据出来时可以使用SCL的上升沿,写数据到SDA时,可以用SCL的下降沿。至于你说传输8bit,把SCL分割,我...
答:你这里的SDA和SCL是I2C通讯,SDA就是SDATA,数据。SCL就是SCLK,时钟。通讯有很多种,比如UART,I2C,I2S,SPI,USB等等,每个都不一样的。其实你说的这个SDA,SCL只类的只是一个标号而已,没什么实际意义的,并不是说你知道了SDA是数据线,SCL是时钟线你就知道I2C是怎么通讯的了,所以这个不是关键...
答:你写时D7-D0都不写,配置都没有,肯定读不出的。给你说一下时序吧,图自己看。第一帧是地址和读写控制,不多讲了,你应该懂的,和硬件连线有关的。第二帧是寄存器选择控制,就后两位有效P0,P1,具体选择哪个寄存器你看芯片手册,Table 2. Pointer Addresses of the TMP100 and TMP101 ...
答:24C512的地址位是16位的,不能只传送八位地址位
答:字节写:开始 -> 1个字节 -> 结束 页写:开始 -> 第1个字节 -> 第二个字节 -> 。。。第n个字节 -> 结束 比如同样完成10个字节的写入 字节写 需要启动总线10次 页写就只需要1次
答:因为开始读取完或者写完一组数据需要一个开始信号和一个终止信号,而这个信号就是数据线的上升下降沿。而后面数据线拉高的原因是为了能正确读取到数据,因为单片机如果是低电平外部器件很有可能不能拉高而一直读到低。手机纯打,往采纳。
网友评论:
乐政13380485847:
如何 理解 单片机 时序图 -
64989父昨
: 这个应该没有专门介绍怎么读时序图的吧 多上百度搜搜 或者在你需要知道一个器件是怎么工作怎么使用它的时候再对照关于它的程序怎么编的,这样学起来才快.下面一个例子http://www.51c51.com/bbs/dispbbs.asp?boardid=12&id=7821
乐政13380485847:
最近刚学单片机一直搞不明白请单片机的I2C总线是什么?怎么实现,需要单独的芯片来实现吗? -
64989父昨
: 它是一条总线,包括两条导线:一条数据线SDA,一条时钟线SCL.单片机通过这条总线,和外接的各个芯片进行通信.想传送一字节数据,就必须在数据线SDA上一位一位的传输;每传送一位,在时钟线SCL上要输出一个脉冲.另外还有“起始”、“终止”和“应答”位,这些看时序图即可理解.总线上,可以挂接多个器件,这就有了“从地址”的问题;在某个器件内部,可能有多个存储单元,这就有了“字地址”的问题.I2C总线,确实是很罗嗦的.
乐政13380485847:
I2C 时钟占空比对I2C协议有什么影响?为什么必须设置I2C时钟的高电平和低电平的比例?谢谢了! -
64989父昨
: 通常来讲,Clock都是以占空比为50%来输出的,I2C协议的Clock也不例外,通常我们要调节它的工作频率,以便适应Slave端. I2C时钟高电平低电平的时间就是确定SCL的频率,外设频率要求在100KHz的话,就是通过改变I2C时钟的占空比,STM32才可以访问.
乐政13380485847:
iic的硬件结构 -
64989父昨
: I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL.所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上.为了避免总线信号的混乱,要求各设备连接到总线的输...
乐政13380485847:
如何看芯片DATASHEET -
64989父昨
: 这类芯片只需要了解其功能,注意是否会有逻辑反向特征.看DATASHEET时,基本上只了解一下第一页的内容就行.主要目的就是编程时保证能正确输出 2、常见逻辑芯片:像译码器、选择器、分配器、锁存器等,这类芯片常常是标准芯片,...
乐政13380485847:
51单片机的I2C通讯问题.w -
64989父昨
: 基于IIC通信协议的器件的数据手册当中都有IIC通信时序图,也有个时间要求表,里面有最小值、最大值、典型值,一般选择典型值.照我的经验,不管是起始信号还是停止信号,还是持续低电平时间还是持续高电平时间,凡是遇到延时的,统一来5个_nop_();就OK了.一个_nop_()就是1us 像24C02、PCF8591、PCF8653等等都是一样的.
乐政13380485847:
I2C总线典型信号模拟子程序问题,时序图我可以发出来,1.只根据时序图就能写出程序吗 2.我下面的理解对吗 -
64989父昨
: 两个都可以
乐政13380485847:
I2C总线接口是怎么会事啊 -
64989父昨
: I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中...
乐政13380485847:
硬件工程师该具备的元器件知识与技能,你都会吗 -
64989父昨
: 一个好的硬件工程师应该具备的基本知识和能力1. 快速学习的能力:作为一个通信汪,我就以通信设备方面来说吧!一方面,通信技术,标准,芯片更新的太快了,快到你根本来不及系统的了解它,只能通过特定的项目,需求进行了解;另一方...
乐政13380485847:
作为嵌入式软件工程师如何看芯片手册? -
64989父昨
: 此话题有些大,芯片千差万别,肯定不能涵盖所有环节,泛泛而谈吧. 针对软件工程师,我觉得可以把芯片分成四类(不是标准分类,只针对此问):1、纯硬件类:比如一些类似uln2003、MAX232之类的驱动芯片,一般用于接口电气特性的...