即 value=value丨(0x80》i)
"或"操作可以將相應位置1(其余位不變)
AD模塊串行輸出,每個脈沖輸出壹位二進制數,高位在前
Value的各位原來均為0
例如第壹次輸出時i=0
如果 ADDAT是1,0x80最高位是1(二進制為1000 0000),右移0位仍然是0x80,Value與它"或"運算後最高位變為1(其它位不變),如果ADDAT是0就不用管它,Value的最高位仍然保特為0
第二次輸出時 i=1
如果ADDAT是1,0x80右移1位變成二進制0100 0000,Value與它"或"運算後,次高位被置1,同樣如果ADDAT是0還不用管它,value的次高位也保持為0
依次第3個脈沖至第8個脈沖,ADDAT端口上輸出的8位二進制數就保存在Value這個變量中了
如果AD輸出低位在前的話,可以這樣寫
value丨=0x01巜i
普通IO引腳模擬串口進行數據的接收和發送都是這個原理