|:或操作,1|1=1、1|0=1、0|0=0
那个符号是shift+\,
‘\’在回车上方
0x01是32位16进制,但是内部仍然是2进制,
整体展开就是
0000 0000 0000 0000 0000 0000 0000 0001
所以P1<<=1就是
0000 0000 0000 0000 0000 0000 0000 0010
P1|0x01就是
0000 0000 0000 0000 0000 0000 0000 0010
0000 0000 0000 0000 0000 0000 0000 0001
这两个按位|,结果就是
0000 0000 0000 0000 0000 0000 0000 0011
所以P1=P1|0x01
就是把0000 0000 0000 0000 0000 0000 0000 0011
赋值给P1,
最后for循环结束,
P1 = 0x01
将P1内的值重置 |