[Atmel] 对" pattern=pattern<<1|0x0001怎么理解"的解答

[复制链接]
902|0
 楼主| ddllxxrr 发表于 2015-1-23 19:45 | 显示全部楼层 |阅读模式
有网友提出: pattern=pattern<<1|0x0001怎么理解


我用Atmle Studio6.2做了一个小实验。结果让我很吃惊,也谢谢网友能提出这样的问题。

首先选择不用库建立一个工程。然后选择ATmega16。

然后加入以下程序:


  1. #include <avr/io.h>
  2. #include <stdint.h>
  3. #include <util/delay.h>

  4. uint16_t pattern;

  5. int main(void)
  6. {
  7.    
  8.          pattern = 0xFFFE;
  9.          pattern=pattern<<1|0x0001;
  10.          _delay_ms(100);
  11.          
  12.         while(1)
  13.     {
  14.         //TODO:: Please write your application code
  15.     }
  16. }

运行结果如下:



转换成十六进制为:



可见整体都移一位,然后再或上那个1.




本帖子中包含更多资源

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

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

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2404

主题

7004

帖子

68

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