关于原子的IIC程序的BUG疑问

2019-07-20 08:02发布

在原子STM32F429的程序关于myiic.c的IIC_Stop函数如下:
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);                                                                  
}


其实这里是否有一个BUG,最后的delay_us(4)应该是放在IIC_SDA=1前面吧,反正不修改的话我一直写不进数据,修改后
void IIC_Stop(void)
{
        SDA_OUT();//sdaÏßêä3ö
        IIC_SCL=0;
        IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
        delay_us(4);
        IIC_SCL=1;
        delay_us(4);
        IIC_SDA=1;//发送I2C总线结束信号                                                          
}

这样就正常!
0条回答

一周热门 更多>