IIC_SDA=(txd&0x80)>>7; 改成 IIC_SDA=0x80>>7; 不行吗? 跟之前一样的效果。

2019-07-21 02:31发布

//IIC发送一个字节
//返回从机有无应答
//1,有应答
//0,无应答    
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);   //对TEA5767这三个延时都是必须的
  IIC_SCL=1;
  delay_us(2);
  IIC_SCL=0; 
  delay_us(2);
    } 

IIC_SDA=(txd&0x80)>>7;   改成     IIC_SDA=0x80>>7;   不行吗?   跟之前一样的效果。
IIC_SDA=0x80>>7这么写不是更简洁吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。