QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2019|回复: 1
收起左侧

[求助] 学过MSP430与精通C语言编程的进

[复制链接]
发表于 2009-8-22 02:10:36 | 显示全部楼层 |阅读模式 来自: 中国四川成都

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我最近在编430的程序,遇到了一个问题,时有关为操作的,程序如下:) @" @7 }* I3 {6 N# _; F" M
unsigned char  KeyVal;6 S' G2 [/ L( o0 A8 N! C
P2OUT = ~(1 << (KeyVal - 1));
* E7 w4 |) o1 J/ A, e7 Q" V7 Q不知程序的结果是什么,我用软件进行仿真,发现当KeyVal为0时,P2OUT 结果为0xff;当
% ?' E& b4 b' H6 |" BKeyVal为1时,P2OUT 结果为0xfe,当KeyVal为2时,P2OUT 结果为0xfd,当KeyVal为3时,P2OUT 结果为9 F" d* f( H0 {; M0 Z. V# b1 l, {
0xfb,当KeyVal为4时,P2OUT 结果为0xf7.3 e  \! j) w" q+ e  d# k
他是怎么得到上面的结果的?请各位高手请教
发表于 2009-9-13 21:48:27 | 显示全部楼层 来自: 中国上海
当KeyVal为0时,0-1=0xFF(KeyVal - 1),把1左移0xFF位结果为0(1 << 0xFF),0再取反结果为0xFF。
" [/ k4 g# q6 a. K当KeyVal为1时,1-1=0(KeyVal - 1),把1左移0位结果仍为1(1 << 0),1再取反结果为0xFE。3 u' }7 c3 G% z; m2 L5 o. M
当KeyVal为2时,2-1=1(KeyVal - 1),把1左移1位结果为2(1 << 1),2再取反结果为0xFD。0 `) r2 k' \5 M' J- A4 f
当KeyVal为3时,3-1=2(KeyVal - 1),把1左移2位结果为4(1 << 1),4再取反结果为0xFB。
! A$ l. I0 o. h( S1 C% F- M9 U  q) z其余类推- Z  p* }7 r  |" v' d' }
# y3 J2 p/ }' o0 s9 T3 g1 m3 Z/ ?
KeyVal只要>8,结果都是0xFF.

评分

参与人数 1三维币 +2 收起 理由
xyzabcxyzabc + 2 应助

查看全部评分

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

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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