zoukankan      html  css  js  c++  java
  • STM32 IIC 时序

    起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。
    停止信号:当SCL为高期间,SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不是一个电平信号。

    //产生IIC起始信号
    void IIC_Start(void)
    {
        SDA_OUT();  //sda线输出
        IIC_SDA=1;   // 拉高数据线        
        IIC_SCL=1;   // 拉高时钟线
        delay_us(4); //延迟 ,延迟是有必要的,参照I2C协议写的
         IIC_SDA=0; //START:when CLK is high,DATA change form high to low ,触发通讯
        delay_us(4);
        IIC_SCL=0; / / ?钳住I2C总线,准备发送或接收数据,方便数据线上的数据变化
    }     

    //产生IIC停止信号
    void IIC_Stop(void)
    {
        SDA_OUT();//sda线输出
        IIC_SCL=0; // ?
        IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
         delay_us(4);
        IIC_SCL=1;
        IIC_SDA=1;//发送I2C总线结束信号
        delay_us(4);                                   
    }

    REF

    https://zhuanlan.zhihu.com/p/338377414

  • 相关阅读:
    写优先
    生产者消费者信号量的个人理解
    向上过滤
    操作系统之进程调度算法笔记
    idea学习
    计算机网络之网络层
    rest-framework routers
    rest framework ViewSet
    rest framework Genericview
    rest framework Views
  • 原文地址:https://www.cnblogs.com/emanlee/p/14265008.html
Copyright © 2011-2022 走看看