x
x
查看: 4042|回复: 9

【强力推荐-信盈达】专业讲师讲解单片机开发应掌握的几个基本技巧

[复制链接]
发表于 2013-1-29 15:16:56 | 显示全部楼层 |阅读模式
单片机应用开发中,代码的使用效率问题、单片机抗干扰性和可靠性等问题仍困扰着工程师。为帮助工程师解决单片机设计上的难题,某知名网站特邀 Holtek香港分公司工程部处长邓宏杰先生担任《单片机应用编程技巧》专题讨论的嘉宾,与广大设计工程师交流单片机设计开发经验。现根据论坛中的讨论归 纳出单片机开发中应掌握的几个基本技巧。
  一、 如何提高C语言编程代码的效率
  邓宏杰指出,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。他强调:“如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。 先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。”
  他指出,各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长 5-20%。他说:“对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统 所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作 上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。”
  二、 如何减少程序中的bug?
  对于如何减少程序的bug,邓宏杰给出了一些建议,他指出系统运行中应考虑的超范围管理参数有:
  1.物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或非正常回应进行出错处理。
  2.资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。在程式设计中,对资源参数不允许超范围使用。
  3.应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦写次数与资料存储时间等应用参数界限。
  4.过程参数。指系统运行中的有序变化的参数。
  三、如何解决单片机的抗干扰性问题
  邓宏杰指出:防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。单片机干扰最常见的现象就是 复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。一般单片机都会有一些标志寄存 器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标 志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。
  四、 如何测试单片机系统的可靠性
  有读者希望了解用用什么方法来测试单片机系统的可靠性,邓宏杰指出:“当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:
  1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。
  2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。
  3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。
  4、ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。
  邓宏杰强调:“还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。
深圳信盈达嵌入式单片机实训基地给你最实战的技术指导方案。。
详情质询:安老师 Q122330119
 楼主| 发表于 2013-3-7 11:36:52 | 显示全部楼层
深圳/郑州信盈达嵌入式、单片机、ARM、MIPS、FPGA、Android培训!
免费试听,满意后给您量身定制课程(包学会),快速提高您的技能!
教学特色:名师督学+工程师指导;项目案列解析+实际解决方案!
详情质询:安老师 电话13926586805  QQ 122330119
 楼主| 发表于 2013-3-22 17:41:38 | 显示全部楼层
恩 不错是值得去学习下的啊。。。
 楼主| 发表于 2013-5-11 16:45:01 | 显示全部楼层
信盈达推出电子相关课程供大家学习参考:假期大送优惠,免费公开课,欢迎大家前来试听了解。
1.嵌入式arm+linux(arm9/11/A8/A9套餐供选)
2.安卓高级开发板(linux)
3.cortex系列(m3/arm9/stm32)
4.单片机项目班(c51、pic、avr)
5.单片机综合班(电子+pcb+51/pic)
6.fpga课程
7.嵌入式系统班(电子+嵌入式c+arm+linux+安卓)
8.企业培训、项目指导
详情质询:安老师 电话13926586805  QQ 122330119
发表于 2013-8-13 10:23:59 | 显示全部楼层
还在继续学习中,果断支持个老师,坚持就是胜利。。。
发表于 2013-9-8 16:17:38 | 显示全部楼层
分享学习了。。
发表于 2013-12-3 17:39:25 | 显示全部楼层
好好学习天天向上啊
发表于 2013-12-30 15:29:19 | 显示全部楼层
发表于 2014-2-18 17:30:26 | 显示全部楼层
讲解的很不错,学习单片机编程看了这个可以少走弯路。
发表于 2015-2-2 11:33:51 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表