原标题:单片机与嵌入式系统中C语言的位运算小记

编了个PIC的项目,对里的还是蛮有感悟的,特此记录一下。

譬如说,在程序中定义了一个char类型的变量,

purge_short_enable_flag,

//bit<0>-- start short circuit circle timing

//bit<1>--short circuit enable

//bit<2>--purge H2 enable

所以在复制的时候,一定要记得不要影响其他为,之前我在使能purge的时候,直接复制了,就像purge_short_enable_flag = 0x02,结果,pic跑起来就出问题了,因为这样就影响到了short的使能的,所以还是要purge_short_enable_flag |= 0x02,这样就没问题了。

用一个变量来控制好几个因素,有好处也有坏处,优点是节省了变量的使用,然而不仔细的话,很容易出错,code的时候要仔细点,不要编写代码,边听音乐。不过这在编了久了,心里自然有底,不过还是要是是提防,因为少个或的“|”符号,很难看出来的。

责任编辑:

单片机c语言位运算写法,单片机与嵌入式系统中C语言的位运算小记相关推荐

  1. 整数加扰 c语言,基于地址加扰的嵌入式系统安全防护研究

    随着嵌入式系统应用的日益广泛,其安全性保障也日益迫切,尤其是存储器中的数据和指令需要严格的安全保障.目前,对片外存储器的安全防护有Execute-Only Memory(XOM)[1].PE-ICE/ ...

  2. 嵌入式系统编程C语言之软件架构

    模块划分 模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求.C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能( ...

  3. 嵌入式开发中C语言编程要点简述!

    在嵌入式Linux的C语言开发中,C语言的基本编程依然是最重要的内容.除此之外,与一般的C语言编程相比,嵌入式Linux的C语言编程有以下一些要点: 1.库函数与系统调用 在进行C语言编程的时候,使用 ...

  4. Windows10系统中怎么使用32位IE浏览器?

    简介:         某些"网站"只支持32位浏览器: 但是自己的电脑是Windows10,打开浏览器不能使用这个"网站",并且自己的电脑配置比较高,不能安装 ...

  5. BPI-Bit 开发板带有Xtensa 32位LX6双核处理器的嵌入式系统的ESP 32

    BPI:bit(也称为BPI-bit,作为webduino:bit)是一个带有Xtensa 32位LX6双核处理器的嵌入式系统的ESP 32.支持Webduino.Arduino.微python以及S ...

  6. c语言改变cmd 字体大小_嵌入式开发中常见3个的C语言技巧

    原文:https://www.cnblogs.com/CrazyCatJack/p/6080266.html 1.指向函数的指针 指针不光能指向变量.字符串.数组,还能够指向函数.在C语言中允许将函数 ...

  7. c语言语法sc,适合于嵌入式系统的C语言单元测试框架:SCUNIT

    说明 主流语言都有测试框架,在嵌入式领域特别是资源紧缺的单片机工程中没有合适的测试框架.本文发布一种简单的C语言测试框架SCUNIT,可以应用于嵌入式领域. 测试环境 本框架是基于标准C语言编写,对平 ...

  8. 32位jdk_详解在Linux系统中安装JDK

    本文以在CentOS 7.6中安装JDK8为例进行安装,其他系统和版本都是大同小异的. 下载 进入Oracle官方网站的下载页面. 根据Linux系统的位数选择要下载的压缩包.怎么知道Linux系统的 ...

  9. win10语言包在c盘哪里,win10系统通过卸载语言包释放c盘空间的操作方法

    win10系统通过卸载语言包释放c盘空间的操作方法? 很多win10用户在使用电脑的时候,会发现win10系统通过卸载语言包释放c盘空间的的现象,根据小编的调查并不是所有的朋友都知道win10系统通过 ...

最新文章

  1. 高频面试题:Spring 如何解决循环依赖?
  2. 一次 QPS 翻倍的 Java 服务性能优化
  3. 为Visual C++ 6.0添加批量注释和取消批量注释功能
  4. 【IntelliJ IDEA系列】IDEA编译方式介绍及编译器的设置和选择
  5. gva explaination
  6. steam怎么看邮箱绑定的账号_lol手游appleid怎么绑定拳头账号 英雄联盟手游账号绑定方法_英雄联盟手游...
  7. bool查询原理 es_ES系列之原理copy_to用好了这么香
  8. win10无法检验服务器出示的ssl证书,win10系统网站启用ssL安全证书的操作方法
  9. RocketMQ实战系列-RocketMQ命令详解
  10. vim可以用来编译python吗_Linux下编译Vim以支持python2.x
  11. 深度学习之TensorFlow
  12. 【分享】终端命令工具 自动生成vue组件文件以及修改router.js
  13. unix环境高级编程(第三版)-读书笔记1
  14. 逻辑推理的分类:演绎推理(详解)、归纳推理、类比推理
  15. 思科无线服务器,Cisco统一无线网络TACACS+配置
  16. Java项目:在线bbs论坛系统(java+SSM+JSP+bootstrap+jQuery+mysql)
  17. 设计模式:设配器模式
  18. KEIL5创建新工程模板 以及文件简介概述
  19. Elasticsearch启动报错:warning: ignoring JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191; using bundled JDK
  20. omnet、sumo、veins环境搭建笔记

热门文章

  1. lldb 调试 linux下 .net Core 总结及开源扩展 yinuo
  2. “*** IS NOT TRANSLATED IN …….. 解决办法
  3. 将WebApiTestClient添加到ASP.NET Web API帮助页面
  4. 【数据库原理及应用】经典题库附答案(14章全)——第十三章:面向对象程数据库系统
  5. C/C++笔试面试题目(2021最新版)
  6. Git之pull后回退版本
  7. React Native之触摸事件(Touchable系列和onLongPress)
  8. linux 路由表设置 之 route 指令详解
  9. oracle 快捷 企业,Oracle自治数据库提供APEX 20.1,助企业快速构建应用
  10. 20幅扎心漫画,道尽无数人的人生!30万网友:这简直是在偷窥我生活...