智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1569|回复: 6
打印 上一主题 下一主题

哪位给解释下这小段程序

[复制链接]

12

主题

109

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1301
威望
411
贡献
288
兑换币
232
注册时间
2013-6-29
在线时间
301 小时
毕业学校
山东科大
跳转到指定楼层
1#
发表于 2013-8-11 20:10:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void Init_PORT(void)//接口初始化
{
    DDRT&=~(1<<SIGNAL);
    PERT|=(1<<SIGNAL);//编码器脉冲累加器口为输入,上拉有效。其他口没作用。
    PPST&=~(1<<SIGNAL);//T口是输入,上啦电阻全部有效(如果作为外部输入口,要读取PTIT)?
    //数据寄存器是PTT




左移有什么作用吗?像这种左移、右移的写法,怎么看着这么不顺眼呢

24

主题

492

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13138
威望
5341
贡献
1645
兑换币
2222
注册时间
2012-3-9
在线时间
3076 小时
毕业学校
嘉兴学院
2#
发表于 2013-8-11 20:41:41 | 只看该作者
上面有使该位置一或者置零
回复 支持 反对

使用道具 举报

12

主题

109

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1301
威望
411
贡献
288
兑换币
232
注册时间
2013-6-29
在线时间
301 小时
毕业学校
山东科大
3#
 楼主| 发表于 2013-8-11 21:01:02 | 只看该作者
机遇 发表于 2013-8-11 20:41
上面有使该位置一或者置零

那要是把原来的二进制数左移一位,不就相当于是把该置一的位置零了,把该置零的位置一了吗?置位为什么不用****=0x00,这种形式置位呢
回复 支持 反对

使用道具 举报

0

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
223
威望
95
贡献
66
兑换币
33
注册时间
2013-8-11
在线时间
31 小时
4#
发表于 2013-8-11 23:54:30 | 只看该作者
SIGNAL是指相应的位,比如他为6,1<<SIGNAL的意思是将0000000000000001H左移6位,则得到0000000000100000H取反之后再和DDRT本身的值相与,结果会使DDRT的第六位变为零,而其他位的值保持原来的不变
回复 支持 反对

使用道具 举报

24

主题

1175

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5379
威望
2669
贡献
1706
兑换币
1811
注册时间
2012-10-29
在线时间
502 小时
5#
发表于 2013-8-12 10:16:06 | 只看该作者
这种写法方便调用,给某一位置零或者置一都比较方便,而且是保证其他位不会被改变。设想你要是改变一个16位寄存器的某几位,是不是改变其中的某些位,想要用十六进制操作的话,就要运算好一会儿,浪费时间。
回复 支持 反对

使用道具 举报

12

主题

109

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1301
威望
411
贡献
288
兑换币
232
注册时间
2013-6-29
在线时间
301 小时
毕业学校
山东科大
6#
 楼主| 发表于 2013-8-12 19:14:13 | 只看该作者
Neozoic 发表于 2013-8-12 10:16
这种写法方便调用,给某一位置零或者置一都比较方便,而且是保证其他位不会被改变。设想你要是改变一个16位 ...

嗯,是这么回事,谢谢了
回复 支持 反对

使用道具 举报

24

主题

1175

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5379
威望
2669
贡献
1706
兑换币
1811
注册时间
2012-10-29
在线时间
502 小时
7#
发表于 2013-8-13 08:54:51 | 只看该作者
woruoweiwang 发表于 2013-8-12 19:14
嗯,是这么回事,谢谢了

不客气,好好加油
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-22 06:59 , Processed in 0.115369 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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