《嵌入式LINUX与物联网软件开发 C语言内核深度解析》学习2——位操作
2019-07-12 16:11发布
生成海报
位操作有哪些?
按位与&、 按位或|、 按位异或^、 按位取反~、 左移、 右移
位操作重要吗?
底层驱动基本上都是用C编写的,驱动之所以能操作硬件,是因为能实现对寄存器的控制,而控制寄存器,必须通过位操作的运算才能实现
按位取反(~)和非(!)得区别
非(!):如果非0则结果为0,如果为0则结果是1
置位和复位的宏定义
#define SET_BIT_N(x,n) ((x) | (1<<((n)-1)))
#define CLR_BIT_N(x,n) ((x) & ~(1<<((n)-1)))
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮