当前位置: 首页 > news >正文

中联汇科 网站建设营销传播方式有哪些

中联汇科 网站建设,营销传播方式有哪些,东营网络推广,珍岛外贸网站建设方法1#xff1a; 如果需要将一个寄存器中的 bit2 和 bit3 两个位从 11 修改为 10#xff0c;可以使用如下的 C 语言代码实现#xff1a; // 将寄存器的 bit2 和 bit3 位从 11 修改为 10 volatile uint32_t *reg_addr (volatile uint32_t *)0x12345678; // 假设寄存器地址…方法1 如果需要将一个寄存器中的 bit2 和 bit3 两个位从 11 修改为 10可以使用如下的 C 语言代码实现 // 将寄存器的 bit2 和 bit3 位从 11 修改为 10 volatile uint32_t *reg_addr (volatile uint32_t *)0x12345678; // 假设寄存器地址为 0x12345678 *reg_addr ~(0x3 2); // 先将 bit2 和 bit3 位清零 *reg_addr | (0x2 2); // 使用按位或运算符将 bit2 和 bit3 位的值修改为 10首先使用指针 reg_addr 来指向该寄存器的地址同样使用了 volatile 关键字来确保编译器不会对该寄存器的读写进行优化。 然后使用按位与运算符 和按位取反运算符 ~ 将要修改的两个位清零。具体来说0x3 2 表示二进制数 1100将其取反得到 0011然后使用按位与运算符将该值与原始寄存器值进行按位与运算即可将 bit2 和 bit3 位清零。 最后使用按位或运算符 | 将要修改的值与原始寄存器值进行按位或运算将 bit2 和 bit3 位的值修改为 10。具体来说0x2 2 表示二进制数 1000左移 2 位得到 0010然后将其与原始寄存器值进行按位或运算即可将 bit2 和 bit3 位的值修改为 10。 需要注意的是这里的代码仅仅是修改了寄存器的 bit2 和 bit3 两个位如果需要修改其他位的值需要根据具体情况进行修改。同时为了保证修改寄存器的值不会对系统产生负面影响需要了解该寄存器的具体作用和使用规范。 方法2 还有一种比较简单的写法可以使用位域来直接修改寄存器的值。具体实现如下 // 将寄存器的 bit2 和 bit3 位从 11 修改为 10 volatile uint32_t *reg_addr (volatile uint32_t *)0x12345678; // 假设寄存器地址为 0x12345678 struct {uint32_t bit0_1 : 2;uint32_t bit2_3 : 2;uint32_t bit4_31 : 27; } *reg (typeof(reg)) reg_addr;reg-bit2_3 0x2; // 直接将 bit2 和 bit3 位的值修改为 10首先定义一个包含三个位域的结构体分别表示寄存器中的 bit01、bit23 和 bit4~31 三个部分。使用指针 reg 指向该寄存器的地址并将其类型转换为该结构体类型。 然后直接将 bit2~3 位的值修改为 10使用结构体成员访问符 - 访问 reg 结构体的 bit2_3 成员并将其赋值为 0x2即二进制数 10。 需要注意的是使用位域直接修改寄存器的值可能会受到编译器的优化影响因此需要确保编译器不会对代码进行优化。同时为了保证修改寄存器的值不会对系统产生负面影响需要了解该寄存器的具体作用和使用规范。 、 方法3 也可以使用位掩码和位移操作来修改寄存器的值实现比较简单。具体实现如下 // 将寄存器的 bit2 和 bit3 位从 11 修改为 10 volatile uint32_t *reg_addr (volatile uint32_t *)0x12345678; // 假设寄存器地址为 0x12345678 uint32_t mask 0x3 2; // 定义位掩码表示要修改的 bit2 和 bit3 位 uint32_t value 0x2 2; // 定义新的值表示要将 bit2 和 bit3 位修改为 10 *reg_addr (*reg_addr ~mask) | value; // 使用按位与和按位或运算符将寄存器的值修改为新值首先使用指针 reg_addr 来指向该寄存器的地址。 然后定义一个位掩码 mask表示要修改的 bit2 和 bit3 位。具体来说0x3 2 表示二进制数 1100左移 2 位得到 0011即表示要修改的 bit2 和 bit3 位。 接着定义新的值 value表示要将 bit2 和 bit3 位修改为 10。具体来说0x2 2 表示二进制数 1000左移 2 位得到 0100即表示要将 bit2 和 bit3 位修改为 10。 最后使用按位与运算符 、按位取反运算符 ~ 和按位或运算符 | 将原始寄存器值与新值进行按位与和按位或运算从而将 bit2 和 bit3 位的值修改为 10。具体来说*reg_addr ~mask 表示将寄存器中要修改的位清零| value 表示将新值按位或运算到寄存器中要修改的位上。 需要注意的是这里的代码仅仅是修改了寄存器的 bit2 和 bit3 两个位如果需要修改其他位的值需要根据具体情况进行修改。同时为了保证修改寄存器的值不会对系统产生负面影响需要了解该寄存器的具体作用和使用规范。
http://www.w-s-a.com/news/243255/

相关文章:

  • 网站建设培训学校北京如何搜索网站
  • discuz论坛模板哪些网站容易做seo优化
  • 渭南公司做网站网站建设互联网推广
  • 公司网站app怎么做杭州建设局网站
  • 网站开发需要自己写代码吗12306网站多少钱做的
  • 策勒网站建设四川建设网有限责任公司招聘
  • 网站建设哪里有学网页界面设计论文
  • 怎么做外贸网站推广劳务公司网站怎么做
  • 滴答手表网站中铁建设集团有限公司招聘信息2021
  • 重庆富通科技有限公司网站新闻头条最新消息国家大事
  • 四字母net做网站怎么样企业代运营公司
  • 纪检网站建设方案wordpress首页静态页面
  • 网站右下角浮动效果如何做网站logo设计在线生成
  • 西宁哪里做网站婚纱摄影网站设计思路
  • 凡科用模板做网站网站导入页欣赏
  • 北京响应式网站建设公司十大小程序开发公司
  • dw网站开发删除wordpress主题底部
  • 织梦网站怎样做子域名高德导航怎么看街景地图
  • 宿州专业网站建设株洲网站建设优化
  • 自动生成海报的网站常州建网站公司
  • 网站刷流量对网站有影响吗站长工具欧美高清
  • 百度做网站优化多少钱一年罗庄网站建设
  • 手机网站 自适应屏幕h5网站有哪些
  • 北京企业建站技术临沂网站公众号建设
  • 域名和网站备案一样吗wordpress 封装 app
  • 婚纱摄影网站开题报告c2c模式是什么意思
  • 网站几种颜色wordpress水平菜单
  • php做网站的分站wordpress边下边看
  • 杭州建设实名制报备网站Wordpress外贸网站搭建公司
  • 山西云起时网站建设计算机网站开发实现总结