单片机C语言易错知识点

时间:2023-03-18来源:佚名
在进行单片机开发时,经常都会出现一些很不起眼的问题,这些问题其实都是很基础的c语言知识点,是一些小细节。但是正是因为很基础,又都是小细节,所以我们往往容易忽视它们。结果有时候我们会花很长的时间纠结一个问题,迟迟找不到问题的所在。当发现原因竟然是这么的简单和不起眼时,我想不单是我,大家都会感到痛不欲生。笔者今天又碰到了这样的问题,实在忍不住了。因为这些问题都是小的知识点,考虑到之前也遇到好多这种问题,于是决定每次遇到问题就记录下来,时刻提醒自己。
1. !和 ~ 不一样
! 是逻辑非符号,~ 是位取反符号。
对IO口某个管脚赋值时不要错用 !,如

单片机C语言易错知识点
2.<<和>>的优先级低于 、-
比如要实现c=x*2 1,没有加括号会出错

单片机C语言易错知识点
3.移位要防止溢出
其实用移位代替乘除法是个不错的方法,笔者很喜欢拿到一段代码后用移位代替乘除法来进行优化。不过有时候却会出现问题,比如溢出问题。当很明显可能溢出的话我们是会注意的,比如

单片机C语言易错知识点
4.无符号数和有符号数混合运算都会被强制转换为无符号数运算
当一个有符号数和一个无符号数进行算术运算时,系统会自动将有符号数强制转换为无符号数再进行运算(即使你使用有符号数强制类型转换),如下面两种写法的运输结果是一样的

单片机C语言易错知识点
5.局部变量要初始化
局部变量没有初始化的话,因为单片机每次为他分配的是同一个内存区域,当你在函数中是这么使用局部变量时,就可能出问题:

单片机C语言易错知识点
如果第一次调用fun时,a传递的值为0,那么flag = 0x01;执行if(flag&0x01)后面的代码。以后再调用fun时,即使a不为0,但flag依然使用之前的内存区域,所以其值一直为0x01,一直执行的是if后面的代码,而不是else后面的。
如果要避免这个错误,平时要养成对局部变量初始化的习惯。

    相关阅读

    常用运放电路计算与分析

    1、运放的符号表示 2、集成运算放大器的技术指标 (1) 开环差模电压放大倍数(开环增益)大 Ao(Ad)=Vo/(V -V-)=107-1012倍; (2) 共模抑制比高 KCMRR=100db以上; (3) 输入电阻大 ri>1MW, 有的可达100MW以上...
    2023-06-08
    常用运放电路计算与分析

    安全用电常识,我来帮您科普一下

    (1)导线、接头、插座、接 线盒连接应符合规范,不得乱拉乱接电线,导线连接处注意要有很好的绝缘。 (2)室内布线及电器设备,不可有裸露的带电体,对于裸露部分应包上绝缘带...
    2023-06-13
    安全用电常识,我来帮您科普一下

    低压电容补偿的调试与维护

    1.系统供电电压对电容 器的影响 电容器 的无功功率与系统供电电压的平方成正比。若供电电压低于电容器的额定值,将会增加电容器的损耗,并将会缩短其使用寿命。因此国家标准规...
    2023-03-21

    西门子EM231模拟量输入模块设置附接线图

    分享一个西门子EM231模拟量输入模块的接线图,通过拨码开关设置为不同的测量方法,开关的设置应用于整个模块,下面与电工之友小编一起来了解下。 西门子EM231模拟量输入模块接线...
    2023-06-26
    西门子EM231模拟量输入模块设置附接线图

    600MW机组捞渣机检修破坏炉底水封技术措施

    1、操作前根据负荷条件,对锅炉全面吹灰,若条件不允许,也应对空预器,省煤器进行吹灰。 2、全面检查机组的运行方式,机组设备的运行状态,保护投退的情况。 3、将机组负荷在...
    2023-09-22
    600MW机组捞渣机检修破坏炉底水封技术措施

    热销商品

    加厚abs安全帽电工建筑工地程施工领导监理透气防砸头盔可印字V型

    这款加厚ABS安全帽专为电工、建筑工地施工人员、领导及监理设计,采用高强度ABS工程塑料,抗冲击、防砸性能优异,有效保障头部安全。帽体加厚设计,增强耐用性与防护等级...
    5.8

    水口钳高硬度模型剪钳电子钳工业级口水剪斜嘴钳偏口斜口专用钳子

    水口钳高硬度模型剪钳是一款工业级精密工具,专为电子、模型制作及精细作业设计。采用优质高碳钢材质,经热处理工艺打造,具备卓越的硬度和耐磨性,可轻松剪切金属引脚、...
    4.8

    170电子剪钳II 如意斜口钳 工业斜嘴钳水口钳 模型剪塑胶钳尖嘴钳

    170电子剪钳II如意斜口钳是一款专业级精密工具,集工业斜嘴钳、水口钳、模型剪、塑胶钳与尖嘴钳功能于一体,适用于电子维修、模型制作、手工艺及精密作业。其采用优...
    4.5

    安全帽国标工地加厚施工领导透气安全头盔建筑工程监理免费印字

    本款安全帽严格遵循国家GB 2811-2019标准,专为建筑工程、工地施工及监理人员设计。采用高强度ABS工程塑料,加厚壳体有效抗冲击,保障头部安全。帽体轻盈透气,内置可调...
    10

    包邮三角型简易螺丝刀三角十字螺丝刀螺丝批改锥起子五金工具5mm

    这款5mm三角型简易螺丝刀,专为拧紧或拆卸三角形螺丝设计,适用于电子维修、家电维护及精密仪器装配等场景。采用优质合金钢材质,刀头硬度高、耐磨损,确保长久使用不变...
    3.64

    网站栏目