对stm32的赋值用法不懂,能不能说明一下以下每一条指令对哪个位进行了操作,进行了什么操作?

1.SysTick->CTRL|=1<<0;
2.SysTick->CTRL|=1<<1;
3.SysTick->CTRL&=~(1<<2)

这三个都是对某一位赋值的语句

对于二进制来说 如果从低位标记为0 一个字节型(8位)的变量可以标记为0-7

以上三个语句作用分别为

    对CTRL的第0位赋值为1

    对CTRL的第1位赋值为1

    对CTRL的第2位赋值为0

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-20

    SysTick->CTRL|=1<<0;// 对SysTick组中CTRL寄存器最低位(位0或上1)置一左移了0次

    SysTick->CTRL|=1<<1;// 对SysTick组中CTRL寄存器(位1或上1)置一左移了1次
    3.SysTick->CTRL&=~(1<<2)// 对SysTick组中CTRL寄存器(位2与0)清零左移了2次

本回答被提问者采纳
第2个回答  2014-01-20
1<<i 就是第i位
|=1是置1
&=0是置0
所以你写的就是
CTRL寄存器的第0位置1
第1位置1
第2位置0
建议你仔细看看 & | ^ ~ && || ! 这几个操作
相似回答