打印
[51单片机]

左移右移?

[复制链接]
1513|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Improvevent|  楼主 | 2015-8-18 08:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大师:) 求分析这句代码的意思,谢谢
               if(dat&0x80)SDA=1;/*判断发送位*/
                else SDA=0;
                dat=dat<<1;

相关帖子

沙发
ayb_ice| | 2015-8-18 11:00 | 只看该作者
  if(dat&0x80)SDA=1;/*判断发送位*/
                else SDA=0;
发送位,从高不到低

dat=dat<<1;
为下一位准备

使用特权

评论回复
板凳
Improvevent|  楼主 | 2015-8-18 11:13 | 只看该作者
dat=dat<<1;
为下一位准备的意思?

使用特权

评论回复
地板
delin17| | 2015-8-18 12:43 | 只看该作者
第一次发送的是第7位,第二次要发第6位,把第6位左移到第7位。

为下一位做准备。

使用特权

评论回复
5
NE5532| | 2015-8-18 15:17 | 只看该作者

下一次循环里再用。

使用特权

评论回复
6
cainiao_123| | 2015-8-18 15:56 | 只看该作者
数据串行发送时,低位在前使用右移,高位在前使用左移

使用特权

评论回复
7
微纳尔科技| | 2015-8-18 16:10 | 只看该作者
我是微纳尔小梅,IC内存代理,价格低,保证品质。如有需求请随时联系我:13798276573    0755-2360-0583

使用特权

评论回复
8
微纳尔科技| | 2015-8-18 16:11 | 只看该作者
delin17 发表于 2015-8-18 12:43
第一次发送的是第7位,第二次要发第6位,把第6位左移到第7位。

为下一位做准备。 ...

我是微纳尔小梅,IC内存代理,价格低,保证品质。如有需求请随时联系我:13798276573    0755-2360-0583

使用特权

评论回复
9
Improvevent|  楼主 | 2015-8-18 16:29 | 只看该作者
delin17 发表于 2015-8-18 12:43
第一次发送的是第7位,第二次要发第6位,把第6位左移到第7位。

为下一位做准备。 ...

嗯嗯,谢谢你哦

使用特权

评论回复
10
Improvevent|  楼主 | 2015-8-18 16:33 | 只看该作者
cainiao_123 发表于 2015-8-18 15:56
数据串行发送时,低位在前使用右移,高位在前使用左移

嗯,谢谢你哦

使用特权

评论回复
11
songchenping| | 2015-8-19 07:32 | 只看该作者
有问题吗

使用特权

评论回复
12
ywlzh| | 2015-8-20 10:53 | 只看该作者
很多移位寄存器都是这样的!你不要看单步的操作,你先整个字节操作完后看结果就知道为什么要这样编了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

14

帖子

0

粉丝