位运算:
| & ^ ~ << >>
嵌入式因为对内存管理及寄存器的原因,经常需要进行位操作:
1、判断一个字节中的某位是0还是1
思路1:
1)将字节的中的该位右移到最低位->得到变量a;
2)变量a与0x01进行与操作,如果结果为0x01,则该位为1,如果结果为0x00,则该位为0;
unsigned char ch = 0x40;//0100 0000
a = ch>>6;
a =a&0x01;
if(a==1) 第6位为1;
小结:跟与1的操作经常用来判断位的值。
思路2:
if(a&1< else ----->该位为0; 2、将字节中的第n位置1 公式:int num; num = num | 1< unsigned char ch = 0x00; //0000 0000 for(int i = 0;i<8;i++) { ch = ch | (0x01<} 小结:采用或操作的方式,将字节的每一位都置1. 3、将字节中的第n位清0 公式:int num; num = num & ~(1< 总结: 1)将一个字节a的某一位置1(假设是第2位)----->采用或操作(只有要置的位为1,其余位为0,0x02;) a = a|0x02;------>a的第二位为1,其余为保持不变。 2)将一个字节a的某一位置0(假设是第3位)---->采用与操作(只有要置的位为0,其余位为1,~0x04;) a = a&~0x04;-------->a的第三位为0,其余位保持不变。 综上:要想使字节的某些位保持不变,有两种方法: 与0进行或运算: *|0=* 与1进行与运算:*&1=* 看具体情况,使用哪种方法。
推荐阅读最新更新时间:2024-11-09 09:09
推荐帖子
- 人说做模拟要5年才算入行?
- 你觉得呢?个人感觉5年都不算久。人说做模拟要5年才算入行?本科根本没机会做研发研究生毕业25周岁,五年30岁技术上刚入门,待遇上也是这个说法偶觉得娶媳妇生孩子么希望鸟偶觉得面试NI的硬件被别人鄙视了Aglient和Fluke都是没有招,偶当时觉得做模拟入地无门啊,偶就投身汽车电子鸟08年的时候原帖由yulzhu于2010-3-310:18发表本科根本没机会做研发研究生毕业25周岁,五年30岁技术上刚入门,待遇上也是这个说法偶觉得娶媳妇生孩子么希望鸟
- 幸福的娃 模拟电子
- EZ-USB FX系列外围电路设计
- 全书下载需要把所有部分都下完(part1--part8)EZ-USBFX系列外围电路设计谢谢分享:)感谢楼主
- 追梦1988 工控电子
- AD设计输入接口
- 请问图中这个金黄色的接口叫什么,这是采集的模拟信号,能知道是单端输入还是差分输入吗?差分输入的接口叫什么?还有这个电路板右上角留这么多焊盘孔有什么其它用处吗?AD设计输入接口图片没有发上来。单端输入还是差分输入,看看有几个输入信号线。只有一根的话,那就应该是单端输入。差分输入的话,pcb走线方式上是平行的。另外,测量输入信号和芯片的哪些脚对应。结合芯片手册,看看能不能获取一些信息。图片之前没传上去射频绝缘子
- 萤火 ADI参考电路
- 函数sigpending的问题
- 我买了《UNIX环境高级编程》,正在看。看到第10章,函数sigpending。书里有个程序,如图:运行:这是正常情况。函数sigpending的问题然后,我把程序改成如下所示:也就是把函数sigpending屏蔽掉,结果运行效果不变,如下图:我感觉sigpending就没什么明显的作用。然后我把程序又改成如下所示:就是把sigismember函数里的SIGQUIT参数改成SIGALRM.运行:可以看到:SIGQUITpending时而出现,时而不出现。
- chenbingjy Linux与安卓
- 电流采样
- 我的论文题目是灯泡验光控制器设计,就是测量灯泡的电流来判断灯泡的好坏,电流大小10A左右工作电压12V,想用电流传感器MAX472来采集电流信号,通过ADC0809显示出来,问题是不知道MAX472跟0809怎么相连,以及采集电流的电路怎么画,请教。。最好有跟下面的温度才样一样的连线图电流采样你的灯泡是直流还是交流你的灯泡是直流还是交流汽车前照灯的灯泡电压是12V直流的Re:电流采样你的现在还在吗?我的论文也是这个题目不会啊求助
- shy117301 单片机
- 嘉楠K230 AI开发板测评2--GPIO、LED、按键、定时器
- GPIO介绍 K230开发板总共引出了46个引脚,有常见的通用GPIO口、4路PWM、2路串口、1路SPI、I2C、I2S和4路的ADC,提供5V和3.3V的电源输出引脚对外供电,用常见的type-c引脚对开发板供电,方便简洁,GPIO引脚图如图1所示。 图1K230GPIO引脚图 点亮第一个LED CanMVK230有一个与GPIO直接连接的可控制LED蓝灯,其连接到GPIO52,其原理图如图2所示,从电路图可
- dfjs 国产芯片交流