zoukankan      html  css  js  c++  java
  • 软件模拟I2C通讯

    I2C协议概述,有相当详细的名词解释

    通信数量受限于地址空间和400Pf总线电容。

    所有的数据传输过程中,SDA线的电平变化必须在SCL为低电平时进行,SDA线的电平在SCL线为高电平时要保持稳定。

    I2C通讯协议软件模拟实现方法:

    1、起使信号 

     

    1 void I2C_Start(){
    2   SDA_H;
    3   delay(n); //电平切换时间
    4   SCL_H;
    5   delay(>4us);  //初始状态必须保持4us以上
    6   SDA_L; //在SCL为高时,拉低SDA线发送起始信号。
    7   delay(>4.7us); 
    8   SCL_L; // 发完一位拉低SCL
    9 } 

    2 、终止信号

    void I2C_Stop(){
    
     	SCL_L;
    
            delay(n);	//电平切换时间
    
            SDA_L;
    
            delay(n);
    
            SCL_H;
    
            delay(>4us);
    
            SDA_H;
    
            delay(>4.7us);
    
            SCL_L; 
    
     }                    
    

      

     3、主机发送应答信号ACK

    void I2C_Ack(){
     SDA_Out(); SCL_L; delay(n); SDA_L; delay(n);  SCL_H;
    delay();
    SCL_L; }
  • 相关阅读:
    定位--position属性
    浮动
    超链接伪类
    对齐方式
    字体样式
    标准文档流
    CSS
    表单
    框架
    内部类
  • 原文地址:https://www.cnblogs.com/geekj/p/10566807.html
Copyright © 2011-2022 走看看