STM32中的位運算技巧

//口訣:置位用|,復位用&,取反用^

unsigned int temp;   //定義無符號整形變量temp

//置位 temp的bit3為1,其他位不變
temp |= (1 << 3);

//置位 temp的bit3~bit7為1,其他位不變
temp |= (0x1f << 3);

//置位 temp的bit0~bit3為1,bit8~bit11為1,其他位不變
temp |= ( (0xf << 0) | (0xf << 8) );

//復位 temp的bit10為0,其他位不變
temp &= ~(1 << 10);

//復位 temp的bit10~bit13為0,其他位不變
temp &= ~(0xf << 10);

//復位 temp的bit0~bit3為0,bit8~bit11為0,其他位不變
temp &= ~( (0xf << 0) | (0xf << 8) );

//取出 temp的bit3~bit8,其余位清零
unsigned int a;
a = temp & (0x3f << 3);

//取反 temp的bit9取反,其他位不變
temp ^= (1 << 9);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容