首页 > 其他分享 >位操作

位操作

时间:2023-11-30 23:22:05浏览次数:29  
标签:位操作 字节 数据 0x80 Byte DR

数据拼接

在通信协议中我们往往只能一个字节一个字节的读取,但是外设一个完整的数据往往不止一个字节,这个时候我们就需要数据拼接:

限制数据位数

USARTx->DR = (Data & (uint16_t)0x01FF);//USARTx->DR读到的是9位数据

(16位数据)检查最高位是否为1

 

1 Byte&0x80//如果最高位为1则输出0x80(真),如果最高位不是1则输出0x00(假)

 

(16位数据)在最高位写1

 

1 Byte|=0x80

 

标签:位操作,字节,数据,0x80,Byte,DR
From: https://www.cnblogs.com/Sandals-little/p/17868673.html

相关文章

  • 位操作运算符
    ......
  • 汇编-64位操作模式
      Intel64架构引入了一个新的模式,称为IA-32e。从技术上看,这个模式包含两个子模式:兼容模式(compatibilitymode)和64位模式(64-bitmode)。不过将它们称为模式而不是子模式更方便些,因此,以后称其为模式。兼容模式当运行在兼容模式(也称为32位模式)下时,现有的16位和32位应用......
  • 无涯教程-AWK - 位操作函数
    AWK具有以下内置位处理函数-and与运算执行按位与运算。[Learnfk]$awk'BEGIN{num1=10num2=6printf"(%dAND%d)=%d\n",num1,num2,and(num1,num2)}'在执行此代码时,您将获得以下输出-(10AND6)=2compl补码运算它执行按位补码运算。[Learnfk]$awk'BE......
  • 深入理解按位操作符:位运算的魅力
    最近在审阅他人的代码时,我意外地发现了一个按位赋值操作符。由于之前的开发经验中从未接触过这种操作符,我决定进行了一番深入的资料研究。我发现,尽管它们可能不如一些更常见的操作符广泛使用,但在某些情况下,它们可以成为解决问题的强大工具。在本文中,我们将深入探讨按位操作符,详细了......
  • 需要非常熟练掌握的寄存器位操作
    bita置零(a为0-7,0-15,0-31位)reg&=~(1<<a);bita置1reg|=(1<<a);bita取反reg^=(1<<a);获取bita的值reg_value=(reg>>a)&1;思路:置0:用&,因为,and,or中Xand0为0置1:用|,因为,and,or中Xand1为1位操作算数符:|表示按位或操作符&am......
  • 31-运算符总结-位操作符-优先级问题
             运行不了,因为变量未定义......
  • c语言精通学习「2」: 位操作
     1.位操作符包括  &0&0=00&1=01&1=1特定位清零如11010101&11100111=11000101|0|0=0  1|0=1  1|1=1特定位置一~~0=1~1=0逻辑取反是!,真变成加、假变成真^ 1^1=00^0=11^0=0特定位取反<<>> 左移或......
  • AVR汇编(七):位操作和MCU控制指令
    AVR汇编(七):位操作和MCU控制指令位操作指令SBI/CBISBI指令用于设置I/O寄存器中的第b位,CBI指令用于清除I/O寄存器中的第b位。例如:SBIDDRB,5;PB5设为输出模式CBIPORTB,5;PB5输出低电平移位LSL指令用于逻辑左移,低位补0。LSR指令用于逻辑右移,高位......
  • x64 架构,也称作AMD64或Intel 64,是指一种64位的处理器架构,是对x86架构的扩展和升级。x6
    x64架构,也称作AMD64或Intel64,是指一种64位的处理器架构,是对x86架构的扩展和升级。x64架构支持更大的内存寻址范围和更高的性能,适用于运行64位操作系统和应用程序。x64架构最早由AMD引入,并在2003年取得了广泛的市场认可。随后,Intel也推出了兼容x64架构的处理器。目前,绝大多数......
  • c++中的位操作
    c++中的位操作使用or设置位 number|=1<<x;将设置位x清除位使用位操作&清除位。 number&=~(1<<x);这将清除位x。转换位XOR操作(^) number^=1<<x;检查位 bit=number&(1<<x);......