GPIO实现I2C协议模拟(2)】的更多相关文章

最近需要用GPIO模拟I2C协议,如果是在Linux下面比较简单,但在Windows下面,是否有没Linux那么简单了. 索性自己对I2C协议还有一些了解,翻了SPEC并结合示波器量出的实际信号分析,总算有些成就,在这里以做记录 I2C是什么,这里不做介绍,网上资料太多. 要用GPIO模拟I2C协议,就是控制GPIO的High与Low,复制出与I2C通信协议一样的波形出来. 由于标准的I2C频率在10K到100kHz之间,所以用GPIO模拟还是需要考虑一个IO动作时间问题. 个人推荐整个模拟动作…
接着上一节继续补充 结合上一节的描述 写Slave的过程如下(BYTE) 读Slave的过程如下(BYTE) 分为两段 第一段 ,写OFFSET,第二段读数据 WORD的方式与BYTE大同异 读行为 读到一个BYTE就需要发一次ACK,最后一次不发ACK,而是发NACK 写行为 后面 Slave Data写两次,每次都需要检查ACK 再附一个GPIO模拟I2C实际读WORD的行为,波形图…
I2C 与 Touch slide 最近做了一个与触摸滑条相关的测试,利用I2C通讯协议来配置触摸控制芯片的相关寄存器,读取触摸读数,并通过STM Studio动态显示触摸读数的变化过程.这个测试相对简单,只要搞定I2C通讯协议,后面的触摸控制芯片的相关寄存器配置就变得很简单了,所以我就简单地总结一下I2C通讯部分笔记. 实验平台:IAR 及 STM Studio 实验主芯片:自制STM8L051/101评估板 触摸控制芯片:ProxSense IQS263 使用硬件触摸滑条(Touch sli…
I2C是一种串行总线协议. 目前几种常用的串行总线有UART.SPI和I2C协议.UART协议的总线只有两条,发送(Transmit:TX)和接收(Receive:RX),没有时钟信号,这就要求两位数据的间隔要相同,它传送数据有严格的规定,每个数据以相同的位串形式传送,每个位串由起始位.数据位.奇偶位校验和停止位组成.SPI有三线和四线模式,四条总线分别为SCLK(时钟).MISO(主器件数据输入,从器件数据输出).MOSI(主器件数据输出,从器件数据输入).SS(从器件使能信号),SPI总线由…
i2c协议 http://blog.csdn.net/g_salamander/article/details/8016698 总线设备驱动模型 http://blog.csdn.net/u013952558/article/details/50175981 linux i2c 驱动编写 http://wenku.baidu.com/link?url=6x_v78MWf9EMaOzBIBWOrArS5SulMG-3S0XJcxMmATI9gQGL6JyxlrSBw-o4HTB-RJqunoQwd…
TCP协议以可靠性出名,这其中包括三次握手建立连接,流控制和拥塞控制等技术.详细介绍如下: 1. TCP协议将需要发送的数据分割成数据块.数据块大小是通过MSS(maximum segment size)来控制的,这种机制是一种协商机制,MSS规定了传往接收方的最大数据块的大小.MSS通过SYN报文协商的,若接收方不接受来自另一方的MSS值,则MSS就定为一个固定值.MSS值越大,网络的利用率越高. 2. 重传.设置定时器,等待确认包. 3. 对首部和数据进行校验. 4. TCP对收到的数据进行…
声明 本文大部分内容为转载,因此标定为转载 源地址: http://www.cnblogs.com/zym0805/archive/2011/07/31/2122890.html http://blog.csdn.net/lxl123/article/details/22884719 I2C协议 简介 I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA).I2C是总线结构,1个Master,1个或多个S…
    题外话:这几天天气突然转冷了.今天已是11月23日了,查查黄历,昨天(11月22日)刚好是小雪,一夜温度骤降,果然老祖先的经验有灵验!冬天来了,还是多加加衣服,注意保暖! 1.Abstract     前些天借用他人的一块MCS-51开发板来做实验,不想这块板子与我刚开始接触MCS-51的板子一样,实在是太亲切了!现在回过来看这块板子,功能算不上是太强大,麻雀虽小五脏俱全,该有的功能都有.于是又忍不住捣腾这块板子,倒不是写小程序一块,看着电路图,到处连线测试一下功能,从中体会下最初的学习…
1.I2C协议   2条双向串行线,一条数据线SDA,一条时钟线SCL.   SDA传输数据是大端传输,每次传输8bit,即一字节.   支持多主控(multimastering),任何时间点只能有一个主控.   总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.   系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet. 1.1 I2C位传输   数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit: …
源:硬件和软件兼容i2c协议的24Cxx系列EEPROM存储器 硬件上由于24c01的A0A1A2管脚不允许悬空,故暂时的想法是兼容24c02 ---24c16 使用一个dip8封装的芯片插座,A0 A1 A2管脚都悬空即可,换芯片方便 软件上24c02地址只有8位,而其他型号是大于8位的,故地址参数使用16位 256个字节作为一个大页,即largePage,测试芯片24c04空间有512字节 上代码,求测试和讨论 #include "MY51.H" //转载请注明:http://xo…