void IIC_Send_Byte(u8 txd)
{
u8 t;
SDA_OUT();
IIC_SCL=0;
for(t=0;t<8;t++)
{
IIC_SDA=(txd&0x80)>>7;
txd<<=1;
delay_us(2); //根据TEA57676,三个延时必须
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
delay_us(2);
}
}
TEA5767是什么,为什么要加这几个延时
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
T low=1.2us,T high=0.6us根据数据有效性时序图是不是原子个的这段程序
void IIC_Send_Byte(u8 txd){
u8 t;
SDA_OUT();
IIC_SCL=0;
for(t=0;t<8;t++)
{
IIC_SDA=(txd&0x80)>>7;
txd<<=1;
delay_us(2);
IIC_SCL=1;
delay_us(2);
IIC_SCL=0;
delay_us(2);
}
}
改为如下更合适
void IIC_Send_Byte(u8 txd){
u8 t;
SDA_OUT();
IIC_SCL=0;
for(t=0;t<8;t++)
{
IIC_SDA=(txd&0x80)>>7;
txd<<=1;
delay_us(1.2);
IIC_SCL=1;
delay_us(0.6);
IIC_SCL=0;
delay_us(1.2);
}
}
菜鸟入手跪求各位大神详解
一周热门 更多>