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这么写不是更简洁吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
LOVE_FYD
1楼-- · 2019-07-22 03:04
回复【4楼】傻子:
---------------------------------
你考虑0的情况了吗?晕
傻子
2楼-- · 2019-07-22 03:21
回复【6楼】LOVE_FYD:
回复【4楼】傻子: --------------------------------- 你考虑0的情况了吗?晕
---------------------------------
???
详细说一下被
傻子
3楼-- · 2019-07-22 03:35
 精彩回答 2  元偷偷看……
jermy_z
4楼-- · 2019-07-22 06:25
程序本来就没有固定的写法,你觉得你的对,你就这样写呗
a513247209
5楼-- · 2019-07-22 12:25
 精彩回答 2  元偷偷看……
零下一度
6楼-- · 2019-07-22 16:39
回复【9楼】傻子:
---------------------------------
我刚好也有这个疑问,我觉得是可以的

一周热门 更多>