[AVR单片机] 菜鸟用C语言,请指教

[复制链接]
2190|2
 楼主| fzy_666 发表于 2009-3-27 13:25 | 显示全部楼层 |阅读模式
unsigned char Data1 = 0xf0;
unsigned char Data2 = 0x0f;
unsigned char Data3 = 0x55;

int main(void)
{
   //要实现把Data1的高3位移到Data2的低3位中
   //然后把Data2的高3位移到Data3的低3位中
   //再把Data1的高3位移到Dtata1的低3位中
   //高手请指教,因为刚开始学C,还是菜鸟一个
   //谢谢指都的大哥
}
 楼主| fzy_666 发表于 2009-3-27 14:18 | 显示全部楼层

没有人理我

没有人理我
龙城 发表于 2009-4-1 19:03 | 显示全部楼层

菜鸟用C语言,请指教

unsigned char tmp1,tmp2;
tmp1=Data1&0xe0;  //取Data1高三位;
tmp1>>=5;         //移至低三位
Data2&=tmp1;      //Data1高三位移至Data2低三位
tmp2=Data2&0xe0;  //取Data2高三位;
tmp2>>=5;        //移至低三位
Data3&=tmp2;       //Data2高三位移至Data3的低三位
Data1&=tmp1;     //Data1高三位移至低三位

不知你原寄存器空数据取出之后是否要前移,如需要的话还得增加前移指令!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

327

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部