OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10002|回复: 16

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

[复制链接]

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
发表于 2014-3-28 12:22:57 | 显示全部楼层 |阅读模式
//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这么写不是更简洁吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
发表于 2014-3-28 18:35:30 | 显示全部楼层
回复【7楼】傻子:
---------------------------------
(txd&0x80)>>7  的意思是 把txd中的最高位取出来(屏蔽掉其他位) 右移7位 

所以如果txd=10101010B 则 (txd&0x80)>>7的结果就是 1 
如果      txd=01010101B 则 语句的结果就是0 

而如果是0x80>>7   语句的结果肯定是1  而和txd无关
我是一只摔不死的蚂蚁!
回复 支持 5 反对 0

使用道具 举报

6

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2019-2-28
在线时间
8 小时
发表于 2019-4-23 21:10:53 | 显示全部楼层

QQ截图20190423210344.png
(txd&0x80)>>7 是为了提取最高位并奖最高位移到最低位并发送(IIC是从最高位开始传输数据的)

回复 支持 3 反对 0

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
 楼主| 发表于 2014-3-28 19:48:11 | 显示全部楼层
回复【8楼】_tank_:
回复【7楼】傻子: --------------------------------- (txd&0x80)>>7  的意思是 把txd中的最高位取出来(屏蔽掉其他位) 右移7位  所以如果txd=10101010B 则 (txd&0x80)>>7的结果就是 1  如果      txd=01010101B 则 语句的结果就是0  而如果是0x80>>7   语句的结果肯定是1  而和txd无关
---------------------------------
我写错 了
是  IIC_SDA=txd>>7   这样不可以吗   移位7次后把最高位首先取出来,由于每一次clk跳变传一个位,所以其他七位不考虑, IIC_SDA=txd>>7  达到一样的效果
回复 支持 1 反对 0

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-28 12:29:33 | 显示全部楼层
回复【楼主位】傻子:
---------------------------------
你确定效果一样?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
 楼主| 发表于 2014-3-28 16:11:01 | 显示全部楼层
回复【2楼】Badu_Space:
回复【楼主位】傻子: --------------------------------- 你确定效果一样?
---------------------------------
确定啊,真的试过了
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
 楼主| 发表于 2014-3-28 16:11:22 | 显示全部楼层
回复【2楼】Badu_Space:
回复【楼主位】傻子: --------------------------------- 你确定效果一样?
---------------------------------
原子那样应该更容易理解
回复 支持 反对

使用道具 举报

26

主题

202

帖子

3

精华

高级会员

Rank: 4

积分
810
金钱
810
注册时间
2014-3-4
在线时间
11 小时
发表于 2014-3-28 16:17:29 | 显示全部楼层
回复【4楼】傻子:
---------------------------------
能一样吗
随遇而安,无愧于心?---?行者?任
回复 支持 反对

使用道具 举报

9

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2013-9-24
在线时间
0 小时
发表于 2014-3-28 16:25:43 | 显示全部楼层
回复【4楼】傻子:
---------------------------------
你考虑0的情况了吗?晕
人需要沐浴阳光,也必将经历风雨
回复 支持 反对

使用道具 举报

111

主题

265

帖子

0

精华

高级会员

Rank: 4

积分
740
金钱
740
注册时间
2014-3-4
在线时间
6 小时
 楼主| 发表于 2014-3-28 16:33:18 | 显示全部楼层
回复【6楼】LOVE_FYD:
回复【4楼】傻子: --------------------------------- 你考虑0的情况了吗?晕
---------------------------------
???
详细说一下被
回复 支持 反对

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13102
金钱
13102
注册时间
2012-11-26
在线时间
3811 小时
发表于 2014-3-28 21:26:09 | 显示全部楼层
程序本来就没有固定的写法,你觉得你的对,你就这样写呗
学无止境
回复 支持 反对

使用道具 举报

2

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2014-8-31
在线时间
33 小时
发表于 2014-9-7 23:32:10 | 显示全部楼层
七楼说的很对
回复 支持 反对

使用道具 举报

8

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2014-8-6
在线时间
6 小时
发表于 2015-6-17 22:36:40 | 显示全部楼层
回复【9楼】傻子:
---------------------------------
我刚好也有这个疑问,我觉得是可以的
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-5-19
在线时间
4 小时
发表于 2016-7-7 10:35:47 | 显示全部楼层
零下一度 发表于 2015-6-17 22:36
回复【9楼】傻子:
---------------------------------
我刚好也有这个疑问,我觉得是可以的

各位,我觉得不用移啊,IIC_SDA=txd&0x80;不就行了嘛!!右边类型会自动转换为bit型的。
回复 支持 反对

使用道具 举报

9

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
372
金钱
372
注册时间
2016-8-15
在线时间
55 小时
发表于 2016-9-7 23:11:34 | 显示全部楼层
_tank_ 发表于 2014-3-28 18:35
回复【7楼】傻子:
---------------------------------
(txd&0x80)&gt;&gt;7&nbsp;&nbsp;的意思是&nbsp;把txd ...

赞  我突然懂了一个之前不懂的问题
祝中国健儿奥运好成绩
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2016-4-7
在线时间
12 小时
发表于 2019-4-16 15:22:03 | 显示全部楼层
赞,新手刚学到这
回复 支持 反对

使用道具 举报

2

主题

41

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
345
金钱
345
注册时间
2020-2-6
在线时间
37 小时
发表于 2020-4-12 11:34:11 | 显示全部楼层
大神的讨论,颇有启发:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 06:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表