找回密码
 注册
关于网站域名变更的通知
查看: 73|回复: 0
打印 上一主题 下一主题

掌握这4大技巧,提高学习单片机效率!

[复制链接]
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
     楼主| 发表于 2024-12-9 14:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    有很多刚入行的初学者工程师在单片机这个领域经常是蒙圈的状态,完全不知道该从何下手,在开发过程中:代码的使用效率问题、单片机抗干扰性、可靠性等问题经常困扰着他们。为此,小编归纳总结出单片机开发中应该掌握的四大基本技巧,不要错过哦~
    - U' @3 q# y% c$ y' D% r9 z' d5 I+ V5 l9 R1 A, @7 H7 |* Q

    - g3 l  y6 O. m% `0 H* ~4 U0 S
    # ~" p4 s. W8 q" P, ?一、如何提高C语言编程代码的效率
    * A" x5 o, W. l+ i! j/ ~  B! _& r6 A  @2 f
    用C语言进行单片机程序设计是单片机开发与应用的必然趋势。如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。 先试验一下每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道效率。在今后编程的时候,使用编译效率最高的语句。3 ~8 B9 O8 K/ y1 G" b+ @
    , e: I) E" [: B+ j
    各家的C编译器都会有一定的差异,故编译效率也会有所不同,优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程度长 5-20%。+ G  I, G- A0 l: A8 |: ~4 x2 l

    ! x6 y( h2 ^4 I8 E2 k6 ~7 [: b对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求你对该mcu系统的C语言和C编译器非常熟悉,特别要注意该C编译系统 所能支持的数据类型和算法。
    & \5 Z; [" k6 n
    & V7 }' A) g& h+ G; c虽然C语言是最普遍的一种高级语言,但由于不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的操作上。所以如果对这些特性不了解,那么调试起来问题就会很多,反而导致执行效率低于汇编语言。
    , Q5 N$ n) T- U3 n# ~4 t
    8 G4 O% |1 `- G, G- z5 m二、如何减少程序中的bug?
    + h2 M$ d5 `* C1 i% @
    ' ~1 g0 k9 a" u  R) q% y对于如何减少程序的bug,给出了一些建议,指出系统运行中应考虑的超范围管理参数有:6 I0 T; B$ R: P/ b( M+ V: B4 }5 R
    ' i0 H" m! I* |8 m: w& E5 v
    1.物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或非正常回应进行出错处理。% s& K# d  ?* G, m. V

    5 ]) w4 K# D* h# _' G. w# o2.资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。在程式设计中,对资源参数不允许超范围使用。' M6 u8 w! ]0 R) b7 k* q2 r

    3 g2 w$ q1 V6 l- w% K8 @2 z: G3.应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦写次数与资料存储时间等应用参数界限。4 d6 H" l- v) ^

    & g  j1 B) k' d  P4.过程参数。指系统运行中的有序变化的参数。; X6 e3 }* m4 L/ x
    ) t/ e- f  y1 J: _

    " k( b! R( Z2 A9 W5 s8 N, V
    % R( q: u7 C" n三、如何解决单片机的抗干扰性问题9 k- V4 n5 a! c7 }2 W/ G4 E

    $ Z/ x! E4 ?( N/ V3 C9 N8 X防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。单片机干扰最常见的现象就是 复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。
    8 L4 i7 b8 d5 K4 V9 g% w- U2 L2 p. \) ]
    $ v0 y# A, x* C& Z一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外你也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标 志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。0 x: g& n; M2 X+ F
    . x3 ~% p* Y0 F, Z! j5 U5 Z
    四、如何测试单片机系统的可靠性; W0 T" w. i7 |# s
      l9 L7 q& O+ g! G
    有读者希望了解用用什么方法来测试单片机系统的可靠性“当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的:
    # {4 \9 h+ d3 T0 i# a' X2 L2 O9 b- ~! _" V3 Z- O
    1.测试单片机软件功能的完善性。这是针对所有单片机系统功能的测试,测试软件是否写的正确完整。3 b% a* `& C7 _+ E; ]% j! S" s' ~- ?
    6 P/ {5 G: J; R7 R- b: e% R$ ~
    2.上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。+ E5 b; f. q. m2 j( |; J

    / W# K: g  f3 Z4 [2 r* a6 L3.老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,高压以及强电磁干扰的环境下测试。
    % d9 a5 j! |1 s  G: z- V$ Z0 e# N3 y# f- S4 f
    4、ESD和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。
    ( a  r. g) M* ?% A+ e( r9 j2 D2 C+ T2 X) }3 k+ f" k
    还可以模拟人为使用中,可能发生的破坏情况。例如用人体或者衣服织物故意摩擦单片机系统的接触端口,由此测试抗静电的能力。用大功率电钻靠近单片机系统工作,由此测试抗电磁干扰能力等。
    / _% i7 n5 b: Y
    6 x4 Y7 y9 S! ^5 O6 `& x以上四大技巧,你学会了吗?学会不重要,运用的好才是重点!!3 t6 t6 H( k0 t) j8 w( d
    2 O; l7 Z$ {$ D2 b$ M
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-9-24 05:17 , Processed in 0.125000 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表