本文目錄一覽:
單片機C語言中x[0]=x[0]|0x01什麼意思?
x[0]=x[0] | 0x01是讓x[0]這個數的第0位為1,其它為保持不變,然後賦值回給x[0]。
|是c語言中的或運算符,是二進位位運算符,兩個數要計算的位都為0結果是0,只要有一個數計算位是1結果為1。
C語言中&0x01是什麼意思?
在C語言中,可以用作取地址和按位與操作兩種運算。不過取地址是針對變數的,當前後是一個常量,在C語言中不允許取地址操作,所以這個是語句的一部分,前面還要有一個操作變數。比如
a0x01
是雙目操作符,需要兩個操作數,代表含義為按位與操作。
計算時,按位計算,兩個操作數上對應位的值如果均為1,則結果對應位上值為1,否則結果對應位上值為0。
分析操作數0x01的二進位值為0000 0001,綜合按位與的運算規則,可以知道除最低位外,結果值為0,最低位結果與前一個操作數的最低位相同。
於是a0x01就是取a的最低位值的運算。
單片機C語言編程中P1SEL &= ~0x01怎麼解釋?什麼意思
P1SEL = ~0x01; //設置p1.0埠為普通IO口 ,0為IO口 1為外設。
等價於
P1SEL = P1SEL ~0000 0001;
等價於
P1SEL = P1SEL 1111 1110;
我們先假設 P1SEL = 1111 1111
那麼
P1SEL = 1111 1111 1111 1110;
P1SEL = 1111 1110
我們再假設 P1SEL = 0000 0000
那麼
P1SEL = 0000 0000 1111 1110;
P1SEL = 0000 0000
綜上所述:我們發現 無論P1SEL等於任何值 P1SEL = ~0x01 的作用,就是將最低位 P1_0 置0,其他位不變 。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/201097.html