嵌入式 请问 LEDW=LEDW & (~0XF0) | (0X01<<i)
?LEDW&(~0XF0)达到什么样的效果(前四位可以达到清0前四位什么效果??)?知道1<<4相当于至第4位为高电平但(0X01<<4)是什么意思?0x01<<i//i...
? LEDW & (~0XF0) 达到什么样的效果(前四位可以达到清0 前四位什么效果??)
? 知道 1<<4 相当于至第4位为高电平 但(0X01<<4) 是什么意思
? 0x01<<i //i是一个变量 0 1 2 3循环 是0000 1110 0000 1100这种形式 还是0000 1110 00001101这种形式
?LEDW & (~0XF0) | (0X01<<i) 中的& 与前面(~0XF0) 也与后面的(0X01<<i)??
?| 在这里是不是 把LEDW & (~0XF0) 的值与 (0X01<<i) 的值相或?? 展开
? 知道 1<<4 相当于至第4位为高电平 但(0X01<<4) 是什么意思
? 0x01<<i //i是一个变量 0 1 2 3循环 是0000 1110 0000 1100这种形式 还是0000 1110 00001101这种形式
?LEDW & (~0XF0) | (0X01<<i) 中的& 与前面(~0XF0) 也与后面的(0X01<<i)??
?| 在这里是不是 把LEDW & (~0XF0) 的值与 (0X01<<i) 的值相或?? 展开
1个回答
展开全部
第一个问题:
前四位清零达到什么结果?
假设你的LEDW是8位的,原来的数值是XXXX XXXX,那么,执行完那个“&”后,结果是 LEDW = 0000 XXXX,XXXX表示后四位结果与执行前一致,没有变化。
第二个问题,1<<4表示第4位是高电平,其余位为低电平,0x01<<4,也是一样的,难道你认为 1和0x01不是同一个东西?只是表现的形式不一样罢了,就像你,在你父母眼里是儿子,在老师眼里是学生,但是你还是你,只不过表现形式不一样罢了。
第三个问题: 0x01<<i,当i等于0的时候,是 0000 0001,当i是1的时候,是 0000 0010,
当i是2的时候,是 0000 0100,当i是2的时候,是 0000 1000,
如果你的那个函数写在for循环里,i从0--3,最终的结果是 0000 1111
第四个问题:你的那个表达式,是先计算 LEDW&(~0xF0),然后,得到的结果再和(0x01<<i)进行位或计算,如果是 LEDW=LEDW &( (~0XF0) | (0X01<<i))才是先计算后面的位或,然后得到的结果与LEDW位与计算。因为位与“&”的优先级比位或“|”要高。
最后一个问题,你的说法是正确的。
前四位清零达到什么结果?
假设你的LEDW是8位的,原来的数值是XXXX XXXX,那么,执行完那个“&”后,结果是 LEDW = 0000 XXXX,XXXX表示后四位结果与执行前一致,没有变化。
第二个问题,1<<4表示第4位是高电平,其余位为低电平,0x01<<4,也是一样的,难道你认为 1和0x01不是同一个东西?只是表现的形式不一样罢了,就像你,在你父母眼里是儿子,在老师眼里是学生,但是你还是你,只不过表现形式不一样罢了。
第三个问题: 0x01<<i,当i等于0的时候,是 0000 0001,当i是1的时候,是 0000 0010,
当i是2的时候,是 0000 0100,当i是2的时候,是 0000 1000,
如果你的那个函数写在for循环里,i从0--3,最终的结果是 0000 1111
第四个问题:你的那个表达式,是先计算 LEDW&(~0xF0),然后,得到的结果再和(0x01<<i)进行位或计算,如果是 LEDW=LEDW &( (~0XF0) | (0X01<<i))才是先计算后面的位或,然后得到的结果与LEDW位与计算。因为位与“&”的优先级比位或“|”要高。
最后一个问题,你的说法是正确的。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询