>>是右移操作,<<是左移操作
0x01等于二进制的0000 0001
因为led的正极接的是电源正极,负极接的是IO,所以只有当IO为0时LED才会亮
如果右移0位,变成0000 0001,取反就变成了1111 1110,最上边的LED亮
如果右移大于或等于1位,都是0000 0000,取反变成1111 1111,是不会有LED亮的
如果是左移操作的话
左移一位,运算结果就变成了1111 1101,第二位LED 亮,其它LED不亮
左移二位,运算结果就变成了1111 1011,第三位LED 亮,其它LED不亮
依此类推,随着a的不断变化,形成了LED依次点亮的流水灯效果。
你可以在网上看一些视频教程。在原理上有更加详细的说明。
|