电工知识|单片机C语言易错知识点

   更新日期:2017-03-25     来源:建材之家    作者:水电之家    浏览:61    评论:0    
核心提示:在进行单片机开发时,经常都会出现一些很不起眼的问题,这些问题其实都是很基础的c语言知识点,是一些小细节。但是正是因为很基础,又都是小细节,所以我们往往容易忽视它们。结果有时候我们会花很长的时间纠结一个问题,迟迟找不到问题的所在。当发现原因竟然是这么的简单和不起眼时,我想不单是我,大家都会感到痛不欲生。笔者今天又碰到了这样的问题,实在忍不住了。因为这些问题都是小的知识点,考虑到之前也遇到好多这种问题

电线接法_电线的接法_电线接头接法图解

推荐简介:电工这种技术是很简单的,我要拿出来说一说就有点小题大作了, 我还是看了昨天的电视上说有个国家的标致的建筑300米高,警方初步认为是电线短路或电线打火造成的 我对这方面了解的,线路如何会打火,为什么会短路,以及他的标准做法给大家说一下,如果同行有认为 不妥之处敬请指正。我在这做几个图请大家看一下。 顶上是二级吊顶,我就以他为例,说一下顶内的电线做法 提醒大家一下确每一根电线都......
水电之家讯:在进行单片机开发时,经常都会出现一些很不起眼的问题,这些问题其实都是很基础的c语言知识点,是一些小细节。但是正是因为很基础,又都是小细节,所以我们往往容易忽视它们。结果有时候我们会花很长的时间纠结一个问题,迟迟找不到问题的所在。当发现原因竟然是这么的简单和不起眼时,我想不单是我,大家都会感到痛不欲生。笔者今天又碰到了这样的问题,实在忍不住了。因为这些问题都是小的知识点,考虑到之前也遇到好多这种问题,于是决定每次遇到问题就记录下来,时刻提醒自己。

1. !和 ~ 不一样

! 是逻辑非符号,~ 是位取反符号。

对IO口某个管脚赋值时不要错用 !,如

2.<<和>>的优先级低于+、-

比如要实现c=x*2+1,没有加括号会出错



3.移位要防止溢出

其实用移位代替乘除法是个不错的方法,笔者很喜欢拿到一段代码后用移位代替乘除法来进行优化。不过有时候却会出现问题,比如溢出问题。当很明显可能溢出的话我们是会注意的,比如



4.无符号数和有符号数混合运算都会被强制转换为无符号数运算

当一个有符号数和一个无符号数进行算术运算时,系统会自动将有符号数强制转换为无符号数再进行运算(即使你使用有符号数强制类型转换),如下面两种写法的运输结果是一样的



5.局部变量要初始化

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



如果第一次调用fun时,a传递的值为0,那么flag = 0x01;执行if(flag&0x01)后面的代码。以后再调用fun时,即使a不为0,但flag依然使用之前的内存区域,所以其值一直为0x01,一直执行的是if后面的代码,而不是else后面的。

如果要避免这个错误,平时要养成对局部变量初始化的习惯。

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
小程序码
 
打赏
 
更多>文章标签:电线
更多>同类水电电工资讯
0相关评论

推荐图文更多...
点击排行更多...
水电商机信息更多...
水电电工圈更多...
最新视频更多...
推荐产品更多...
天花之家 | 木门之家 | 灯具之家 | 铁艺之家 | 幕墙之家 | 五金头条 | 楼梯头条 | 墙纸头条 | 壁纸头条 | 玻璃头条 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 照明之家 | 防水之家 | 防盗之家 | 区快洞察 | 潜江建材 | 仙桃建材 | 恩施建材 | 随州建材 | 咸宁建材 | 黄冈建材 | 荆州建材 | 孝感建材 | 荆门建材 | 鄂州建材 | 襄樊建材 | 宜昌建材 | 十堰建材 | 黄石建材 | 长沙建材 | 湘西建材 | 娄底建材 | 怀化建材 | 永州建材 | 郴州建材 |
建材 | 720全景 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap | 粤ICP备14017808号-1
(c)2015-2017 BYBC.CN SYSTEM All Rights Reserved
Powered by 电工之家