Advertisement

单片机跑车 vs 牛车?过来人经验分享

阅读量:

很高兴能向大家介绍我是华维蔵鹰。我从事单片机开发已有若干年光景,在最初的阶段我的编程效率非常低下如同蜗牛一般缓慢。经过一段时间的学习和积累我发现自己的编程能力有了显著提升特别是在优化算法方面表现尤为出色。

后来通过上网收集了很多资料并仔细查看了一些大神的代码后我发现其中也存在一些技巧。几年前我在编写程序时几乎不再使用 delay() 函数了 因为不使用 delay 函数的话 运行起来反而会比之前带 delay 的程序更快。下面我们就来探讨一下 在编写单片机程序时如何通过一些技巧来提高运行效率的问题。

我们的程序结构是在main函数中先设置初始状态后启动循环,在此过程中而前台程序则主要处理各种中断。

以下几种情况均会导致我们程序运行时间较长:其一是当执行按键程序判断时会调用消抖机制;该消抖过程通常需要5ms的时间。其二是当进行动态显示操作且单独点亮一位数码管时所需延迟大约为5ms左右。其三是系统需等待串口数据发送完毕才能继续执行后续操作。值得注意的是本系统的单片机处理速度处于"微秒"级别而每次按键操作所对应的迟缓时间至少达到"毫秒"级别这对于单片机而言是一个较为显著的延迟问题

针对消抖

全部评论 (0)

还没有任何评论哟~