2015-11-10 96 views
-3

我想了解一下C運算符|=做:C在做什麼?

// Initialize the green led 
// Enable the clock for PORT D. See Page 216 of the Datasheet 
SIM_SCGC5 |= (1U<<12); 

// Enable the mux as GPIO. See Page 193 of the Datasheet 
PORTD_PCR5 = 0x100; 

我也搞不懂什麼0x100手段。

+1

'一個| = B;''是A = A | b;'like'a + = b;'是'a = a + b;' –

+2

0x100是256的十六進制表示; –

+1

哇,我不能相信在SO之前,沒有人真的問過這個問題。我基於你在搜索時沒有找到它的事實。你*搜尋*,不是嗎? :-) – paxdiablo

回答

4

它是一個bitwise OR化合物分配,它是相同的:

SIM_SCGC5 = SIM_SCGC5 | (1U<<12); 

0x100它是值100在hexadecimal,0x前綴意味着十六進制值。