当前位置:首页 > 公众号精选 > 玩转单片机与嵌入式
[导读]▼点击下方名片,关注公众号▼欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费资料。回复【STM32】,获取STM32相关设计和视频教程回复【PCB】,获取PCB设计相关的资料回复【硬件知识】、【硬件设计】,获取硬件开发工程必备手册回复【经典电路】,获取5000个经典电...

点击下方名片,关注公众号



欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费资料。


回复【STM32】,获取STM32相关设计和视频教程


回复【PCB】,获取PCB设计相关的资料


回复【硬件知识】、【硬件设计】,获取硬件开发工程必备手册


回复【经典电路】,获取5000个经典电路


回复【论文】,获取毕业设计、电子竞赛、学术专业等相关论文资料



回复【电容】,获取电容、元器件选型相关的内容;


回复【阻抗匹配】,获取电磁兼容性、阻抗匹配相关的资料


回复【资料】,获取全部电子设计、单片机开发相关的资料


回复【终端电阻】,获取CAN终端电阻相关的资料


回复【单片机】,获取单片机全套视频教程和参考设计



…………


欢迎关注【玩转单片机与嵌入式】公众号。本公众号会以连载的形式推出一系列关于STM32学习的教程,欢迎关注。









在单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着。现归纳出单片机开发中应掌握的几个基本技巧。





1、如何减少程序中的bug



对于如何减少程序的bug,应该先考虑系统运行中应考虑的超范围管理参数如下。



物理参数:这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。


资源参数:这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。


应用参数:这些应用参数常表现为一些单片机、功能单元的应用条件。过程参数:指系统运行中的有序变化的参数。




2、如何提高C语言编程代码的效率。



用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长5-20%。




对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。




3、如何解决单片机的抗干扰性问题



防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。




单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。




一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。





4、如何测试单片机系统的可靠性



当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:



测试单片机软件功能的完善性;


上电、掉电测试;


老化测试;


ESD和EFT等测试。



有时候,我们还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。



综上所述,单片机已成为计算机发展和应用的一个重要方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。




从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。




此外在开发和应用过程中我们更要掌握技巧,提高效率,以便于发挥它更加广阔的用途。



End






本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

背景写这篇文章的初衷要从最近带我一个朋友入坑学习单片机的经历开始讲起;我要用梁静茹给我的勇气写写如何入坑单片机;我的一个朋友以前是汽车电子技术专业,毕业之后去做了和汽车相关的工作,修了一年车;其实干一行爱一行,三百六十行...

关键字: 单片机开发

功耗,在电池供电的仪器仪表中是一个重要的考虑因素。PIC16C××系列单片机本身的功耗较低(在5V,4MHz振荡频率时工作电流小于2mA)。

关键字: PIC 单片机开发 功耗

感觉自己看过好多五花八门的关于单片机的开发经验了,但是不一定那些就是适合你的,“书读百遍其义自见”,在追求学问的路上我们永无止境。 单片机开发初探 做AT89C5X(51,52,55等等)的时间最长,知道的可能多些,主要...

关键字: 单片机开发

作者:玄妙漪澜 原文地址:http://tieba.baidu.com/p/5959056728?see_lz=1&pn=1 本人本科非985/211,工作地点广州,现职业为linux C软件开发工程师,但我的工作背景相...

关键字: 嵌入式工程师 开发工程师 代码 单片机开发

我们学习单片机的目的就是为了进行嵌入式系统的开发,学好单片机首先要有一个整体认识,下面将简要介绍一下单片机应用系统的开发流程,如图所示。 图 单片机系统开发流程 (1)明确任务 分析和了解项目的总体要求,并综合考虑系统使...

关键字: 单片机开发 工程师 芯片 CPU

首先聊一聊   大家都知道进行单片机编程和计算机编程有个最大的差别就是单片机的资源非常的有限,并且对于大部分低端单片机而言都没有操作系统。除了一些嵌入式级的芯片用了Linux系统外,其他大部分操作都是比较简单的RTOS,...

关键字: 内存 单片机开发 C语言版 BSP

我们学习单片机的目的就是为了进行嵌入式系统的开发,学好单片机首先要有一个整体认识,下面将简要介绍一下单片机应用系统的开发流程,如图所示。 图 单片机系统开发流程 (1)明确任务 分析和了解项目的总体要求,并综合考虑系统使...

关键字: 工程师 单片机开发 芯片 CPU

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工 汇编的方法了。

关键字: 单片机开发 汇编语言 keil单片机

仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务,一般产品开发过程中都要进行仿真,仿真的主要目的是进行软件调试,当然借助仿真机,也能进行一些硬件排错。一块单片机应用电路板包括单片机部份及

关键字: 仿真 单片机开发 仿真机
关闭
关闭