一线研发之声之跑马灯变形记(一)

来源:本站
导读:目前正在解读《一线研发之声之跑马灯变形记(一)》的相关信息,《一线研发之声之跑马灯变形记(一)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《一线研发之声之跑马灯变形记(一)》的详细说明。
简介:跑马灯实验:将一排led灯按一定的时序循环点亮。

跑马灯实验:将一排led灯按一定的时序循环点亮。

说到它,相信许多人都要会心一笑。跑马灯实验和PC机软件领域的“hello world”同属于骨灰级的入门实验。几乎所有嵌入式领域初学者都从这个实验开始,满怀激动地踏上技术之路。那第一次用程序点亮led灯的激动,那曾经的青涩与懵懂,隽永难忘。

但多年工作后,我发现那些学校实验代码,和专业软件公司的代码之间,其差距实在难以估量。尤为遗憾的是,有许多工作多年的工程师,写出的代码处也还处在这种“实验水平”,一旦搭建的目标系统功能稍显复杂,就会一团乱麻,程序千疮百孔,全局变量遍地皆是,首尾难顾,维护起来困难重重。

为了避免这些实验代码继续“荼毒”下一代,本章以跑马灯实验为例,朝着商业代码的方向,进行循序渐进的优化变形,让读者明晰学校与社会的差距,并初步领会系统的架构之美。

闲言少叙,先上一段最原始的跑马灯代码。该代码从百度搜索获得。

#include#include#define uchar unsigned char#define uint   unsigned intvoid DelayMS(uint x){    uchar  i;    while(x--)    {        for(i=0;i<255;i++);    }}// LED 跑马灯(从右至左)void main(){    P1=0xfe;    while(1)    {        if (P1==0x7f)            P1=0xfe;        else            P1=_crol_(P1,1);        DelayMS(80);    }}

代码1 最原始的跑马灯代码

将这段代码编译、载入51的目标板,只要led接的是P1口,跑马灯的效果还是能够出来的。可如果从系统的可阅读性、可移植性、软件规范等角度去审视,这段代码无疑可称得上是“简陋”。

接下来,我们将循序渐进对其进行逐次改造,最终成为一个该功能下还算合理的“软件架构”

提醒:《一线研发之声之跑马灯变形记(一)》最后刷新时间 2024-03-14 01:05:36,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《一线研发之声之跑马灯变形记(一)》该内容的真实性请自行鉴别。