APP下载

单片机开发中C语言的应用

2018-01-09林龙岳

中文信息 2018年11期
关键词:编程语言数组指针

林龙岳

摘 要:针对单片机开发对编程语言提出的高要求,在简单介绍C语言具有的优势和单片机开发过程中C语言应用可行性的基础上,对其在实际的单片机开发中的具体应用进行深入分析,旨在为单片机开发提供有效工具和方法。

关键词:单片机开发 C语言

中图分类号:TP313 文献标识码:A 文章编号:1003-9082(2018)11-000-01

如今,单片机技术快速发展,为满足使用和发展需要,必须对其进行开发,而单片机开发往往涉及到很多编程与算法设计,这就对编程语言提出了更高的要求,传统手段已经难以满足要求,亟需采用全新的方法和手段。

一、C语言主要优势与在单片机开发过程中应用的可行性分析

相对于传统汇编语言,C语言有众多优势,包括具有较强的继承性与可移植性等,这使单片机设计开发可将C语言作为主导工具。作为高级编程语言之一,C语言不仅继承传统工具所有优势,还能提高开发工作的便捷性。这是因为C语言强调借助结构化设计,同时按照从上到下的顺序依次展开,帮助开发者更好的掌握内部构造,从而做好整体分配,保证程序运行的便捷性与可靠性。此外,C语言在程序开发过程中还具有其它的优点:第一,功能性较强且结构性良好,能在各类机型上完成运行,同时在编译运算的支持下提供可读性;第二,解决硬件兼容问题,编程人员容易掌握,且具有很强的逻辑性,能减少实际工作量;第三,所有不同的模块均有明确任务与分工,能使整个过程都变得十分简便[1]。

二、单片机开发过程中C语言具体应用

單片机开发过程中要合理应用C语言,使其发挥出应有的作用,必须按照专门的程序和步骤进行:首先,编译目标源对应的程序,同时对相关代码实施连接与替换;然后,程序设计完毕后,对源程序进行转换,得到单片机可以识别与运行的形式。在整个开发过程中,主要包含以下几个关键步骤:(1)软件安装,登陆网站下载安装包,此时按提示完成即可,操作十分简单。在下载完毕后,实施解压处理,启动程序开始软件安装,然后输入产品序列号,安装好后即可正常使用软件;(2)建立源文件,创建一个全新的项目,再新建一个.c文件并包含到项目中,通过文字编辑窗口来完成程序编辑,这时源文件建立完毕;(3)通过编译与调试得到HEX文件,对指定程序进行翻译调试,先启动调试模式,通过仿真器完成调试,并改正文件中存在的错误,然后对源程序进行编译,通过编辑器生成需要的目标文件,之后进行模块连接,保证文件的正确性。正常操作目标文件,生成符合要求的HEX文件,充分其所具有的各项功能与作用,再通过程序烧录软件向单片机烧录程序,最后由单片机执行验证程序效果[2]。

C语言可对单片机资源实施分配,将指针结构配置以及数组关系理顺等作为前期。因此,想要在开发中充分利用C语言,必须正确认识并有效控制上述方面。从指针结构角度讲,在使用C语言时,一般情况下,和指针有关的声明均采用类型标识符*指针变量名的形式,对单片机而言,指针和普通定义存在一定差别,这种差别主要体现在格式方面,应设立不同的存储区。基于此,在声明指针结构的过程中,需要使用不同格式。确定数据格式时,常见data等形式,同时在变量控制的过程中,可使用下列格式:

在指针寻址方面,基于C语言的寻址和其它寻址方式基本相同。因数组主要存储于单片机当中,而单片机资源空间通常情况下会比较有限,采用这些数组的时候,则必须要尽量避开相对较大的部分数组,使得数据结构有效简化。并且在定义不需要进行操作的数组,可以使用code类型存储在ROM中来节约RAM资源。例如:

事实上,在操作时,指针寻址的过程中,应当优先考虑data区对应的指针,采用A/D转换等方式向单片机转入外部数据[3]。完成data区对应的指针寻址以后,对存储区对应的指针开始寻址。但从数据存储角度讲,可通过指针完成函数调用,这些调用通常都需要按照某种格式,数据定义后,在以后代码程序当中,即可函数完成调用,比如,先确定一个函数,即scan(),再对此进行调用,主要采用以下代码进行实现:

从当前的工业控制角度看,看门狗电路方面还有一定欠缺,在复位过程中使看门狗动作,即进行热启动。但在实际的热启动中,由于无法从头开始,导致现有计算结果复位,使系统发生异常。为有效解决以上问题,需借助相应的程序对冷、热启动作出综合判别。通常情况下,应先确定一个标志位,同时在启动过程中对标志位具体内容进行读取,若所读内容和设定值完全相同,则判定为热启动;若所读内容和设备值不符,则判定为冷启动。除此之外,为确保以上功能得以顺利实现,需设置专门的指针,同时使其指向一个特定的单元[4]。

但通过实际的编译与运行发现,热启动和冷启动,在开机以后,其内存单元的复位都显示为0,说明未能达到预期的要求。通过分析,将产生这一问题的原因确定如下:利用C语言进行编程的过程中,在开机状态下执行的代码不是从目标函数首个语句开始的。目标函数首个语句在正式执行以前应先完成起始代码的执行,但该代码的执行将造成清零。针对这一实际问题,应在编码完成后,对形成的源文件实施适当修改,再利用编译程序自带程序进行编译,以此获得startuo.obj文件,最利用这一代码完全取代之前的起始代码,这样就能从根本上防止原始代码的执行造成清零。

综上所述,C语言是目前应用最为广泛的编程语言之一,具有其它编程语言不具备的独特优势,这也决定了它在单片机开发领域具有良好的应用与发展趋势。而且通过实践可知,在单片机开发过程中通过对C语言的合理应用,能有效提高开发技术水平,降低技术难度,从而保证最终的开发效果。

参考文献

[1]张祎.C语言在单片机开发中的应用分析[J].江苏科技信息,2017(18):47-48.

[2]王国庆.C语言在单片机中的应用[J].电脑迷,2017(02):104.

[3]周岚.浅析基于C语言的单片机技术[J].软件工程,2016,19(05):30-31.

[4]李宛娜.试论C语言在单片机开发中的运用[J].赤峰学院学报(自然科学版),2014,30(18):26-27.

猜你喜欢

编程语言数组指针
JAVA稀疏矩阵算法
压力-体积转换在CFC编程语言中的实现解析
JAVA玩转数学之二维数组排序
Java编程语言的特点与应用
浅谈不同编程语言对计算机软件开发的影响
Excel数组公式在林业多条件求和中的应用
面向对象Web开发编程语言的的评估方法
寻找勾股数组的历程
基于改进Hough变换和BP网络的指针仪表识别
ARM Cortex—MO/MO+单片机的指针变量替换方法