I2C只用两条线(SDA和SCL)在连接到总线上的设备之间传送数据.每一个设备都由唯一的地址来识别(不管是微处理器、LCD驱动器、存储器或者键盘接口),并且可以依照设备的功能作为发送器或者接收器使用.LCD驱动器可能只是个接收器,而存储器可以发送和接受数据.除了发送器和接收器,当传送数据时设备还可以...
分类:
其他好文 时间:
2014-07-03 11:16:05
阅读次数:
254
在前面阅读理解了I2C的官方协议文档后,就拿s3c2440和EEPROM来验证一下. 本来是想用s3c2440的SDA和SCL管脚复用为GPIO来模拟的,但在没有示波器的情况下搞了一周,怎么都出不来,最后还是放弃了.甚至参考了linux下i2c-algo-bit.c和i2c-gpio.c,依然...
分类:
其他好文 时间:
2014-07-02 00:43:37
阅读次数:
396
时钟拉伸(Clock stretching)clock stretching通过将SCL线拉低来暂停一个传输.直到释放SCL线为高电平,传输才继续进行.clock stretching是可选的,实际上大多数从设备不包括SCL驱动,所以它们不能stretch时钟.从字节级来看,一个设备可能在快速模式下...
分类:
其他好文 时间:
2014-07-02 00:38:17
阅读次数:
305
其实,10bit地址我没用过,通用广播地址更没用过.通用广播地址应该是在多个mcu之间用i2c进行通信时使用的.虽说没用到,但还是做了翻译,说不定以后有机会用到:10bit地址 10bit的寻址扩展可能寻址的数目.有7bit地址和10bit地址的设备可以连接到相同的I2C总线上,而且7bit寻址和1...
分类:
其他好文 时间:
2014-07-02 00:28:42
阅读次数:
766
字节格式发送到SDA线上的每个字节必须是8位.每次传输的字节数量是不受限制的.每个字节后必须跟着一个ACK应答位.数据从最高有效位(MSB)开始传输.如果从机要执行一些功能后才能接收或者发送新的完整数据,比如说服务一个内部中断,那么它可以将时钟线SCL拉低来强制使主机进入wait状态.当从机准备好新...
分类:
其他好文 时间:
2014-07-02 00:25:57
阅读次数:
339
I2C我是想全面深入的从嵌入式软件工程师的角度做个理解,刚刚还申请了一个专栏,这个好好写. 学习技术从外文文档看起~~ 要全面了解I2C,可以从《I2C-bus specification and user manual》看起.I2C最初是由Philips提出的,那么这文档就是由NXP...
分类:
其他好文 时间:
2014-06-30 14:41:01
阅读次数:
259
原文来自于https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html下图描述了该接口的各个时间点:performance.timing API 各个时间点含义如下:navigationStart当访...
分类:
其他好文 时间:
2014-06-25 09:33:19
阅读次数:
435
本文旨在用最通俗易懂的方式,让大家明白I2C通信的过程究竟是怎么回事。
I2C起源于飞利浦公司的电视设计,但之后朝通用路线发展,各种电子设计都有机会用到I2C
总的来说,I2C可以简单归纳为,两根线,一个时钟线,一个数据线;一个总线上,一个主控,多个从设备。I2C的作用当然是用来传输数据,它的最大特点就是仅仅用了2根线,可以完成对总线上多个从设备的有序通信,这就依赖于其通信协议...
分类:
其他好文 时间:
2014-06-22 21:30:29
阅读次数:
247
这个飞控是基于STM32,整合了MPU6050,即陀螺仪和重力加速计,但没有融合电子罗盘;这是飞控程序的控制流程(一个执行周期):比较重要的地方:1.i2c通信方式;STM32的开发库是带有i2c通信的相关函数的,但是我最后还是没有用这些函数。我通过GPIO模拟i2c,这样也能获得mpu6050的数...
分类:
其他好文 时间:
2014-06-22 11:03:40
阅读次数:
360
组合式写法:animation: name duration timing-function delay iteration-count direction;拆分式写法:animation-name: 动画名称; animation-duration: 动画作用时间; anima...
分类:
其他好文 时间:
2014-06-18 19:11:14
阅读次数:
710