嵌入式开发入门1----位操作

1.位操作符在嵌入式开发中最为常用,如通过位运算符进行运算操作、对寄存器中进行操作。
2.六种常用的位操作符:位与( & );位或( | );位异或( ^ );左移操作符( << );右移操作符( >> );求反( ~ )。
3.
举例:

位与(&):基本用途用于清除某个位或某些位

 

1

2

3


//清除LCD控制寄存器的最低位来关闭LCD

#define LCDCON (*(volatile unsigned *)0x1f000000)

LCDCON &=oxfffffffe


 


位或(|):基本用途为用于设置某个位或某些位

 

1

2


//设置LCD控制寄存器的最低位来打开LCD

LCDCON |=0X1;


 


位异或(^ ):基本用途 把两个操作数中对应位的值相异的位置一。(规则:相同置0,不同置1)


左移操作( << ):操作数左移n位,左边移出的位被遗弃,右边空出的位补0。可用来设置寄存器的值,或者用于乘法运算。

 

1

2

3

4

5

6

7

8

9


//通过移位操作设置主频

voidsetPllValue(intmdiv,int pdiv,int sdiv){

  PLLCON=(midv<<12)|(pdiv<<4)|sdiv;      

}

 

结果为:

PLLCON[19 : 12]=M_DIV

PLLCON[9 : 4]=P_DIV

PLLCON[1 : 0]=S_DIV


 


右移操作符( >> ):操作数右移N位,对于无符号数,右边移出位舍弃,左边空出位补0;对于有符号数,右边移出位舍弃,左边空出位补1.


​取反操作( ~ ):

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值