打印
[AVR单片机]

菜鸟用C语言,请指教

[复制链接]
1650|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

粉丝