c语言的嵌入式编程

c语言的嵌入式编程

ID:39963315

大小:2.31 MB

页数:55页

时间:2019-07-16

c语言的嵌入式编程_第1页
c语言的嵌入式编程_第2页
c语言的嵌入式编程_第3页
c语言的嵌入式编程_第4页
c语言的嵌入式编程_第5页
资源描述:

《c语言的嵌入式编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《MC9S12XS单片机原理及嵌入式系统开发》MC9S12XS单片机原理及嵌入式系统开发合肥工业大学张阳,吴晔,滕勤Email:yzhang0615@163.com,wuye@ialab.hfut.edu.cn,tengqin7348@126.comTEL:13966717615,13505612773《MC9S12XS单片机原理及嵌入式系统开发》第4章C语言的嵌入式编程编程语言的选择C语言编程元素C程序编译器与交叉编译器CODEWARRIOR软件简介《MC9S12XS单片机原理及嵌入式系统开发》前言本章首先通过编程语言的选择问题介绍C语言编程的

2、优点,然后讨论C语言进行程序设计时涉及的一些问题,并简要介绍了Freescale公司的单片机开发工具——CodeWarrior的使用方法。《MC9S12XS单片机原理及嵌入式系统开发》4.1编程语言的选择为了确定嵌入式系统合适的编程语言,需要了解以下问题:①计算机(如微控制器、微处理器或DSP芯片等)只接受“机器码”(即目标代码)指令。如果严格定义,机器码才是计算机的语言,而不是程序员使用的其他语言。但如果由程序员去解释机器码,则工作量是非常巨大的,而且也容易出错,是不可行的。②所有的软件,例如汇编语言、C语言、C++语言、Java语言等,为了能

3、够被计算机执行,最终都必须翻译成机器码。③嵌入式处理器的功能有限且内存有限,所以编程语言必须具有高效率。④为嵌入式系统编程,经常需要对硬件进行底层访问操作,这意味着至少要能够读写特定的存储器地址。《MC9S12XS单片机原理及嵌入式系统开发》4.1编程语言的选择当然,语言的选择问题还有一些并非技术方面的考虑:①如果每个项目开发都从头编写代码,显然软件程序员是不乐意的。编程语言必须能够支持创建灵活方便的库,这样同类的项目可以重用那些经过充分测试的代码模块。当使用新的处理器或升级处理器时,整个代码系统移植到新系统应该是可行的,并且工作量尽可能少。②语

4、言的选择应该具有通用性。这样才能保证比较容易产生更多的有经验的开发人员,而且开发人员也容易获得相关设计实例以及编程实践信息。③随着系统和处理器的不断升级,程序代码往往需要经常进行维护。好的程序代码应该是容易被理解的,而且并不仅仅容易被开发者理解,同时程序代码的维护、升级也应该非常便利。《MC9S12XS单片机原理及嵌入式系统开发》4.1编程语言的选择C语言的特性如下:①它属于“中级语言”,不仅具有“高级语言”的特征(如支持函数和模块),还有“低级语言”的特性(可以通过指针访问硬件);②编程效率很高;③十分流行且容易理解;④即使是PC程序员,以前只

5、使用过Java或C++语言,也能够很快理解C语言的语法和编程方法;⑤每一个嵌入式处理器(从8位到32位或以上)都有良好且得到充分验证的C编译器;⑥容易找到C语言编程经验的开发人员;⑦容易找到有关资料、培训课程及相关网站等技术支持。《MC9S12XS单片机原理及嵌入式系统开发》4.2C语言编程元素4.2.1全局变量和局部变量变量是程序运行时在内存中存放数据的一个存储空间。对嵌入式系统来说,它是RAM或ROM(甚至是处理器的寄存器)上的存储单元。全局变量是为整个程序定义的,在程序运行中始终有效。用全局变量传递参数,是参数传递的常用方法。局部变量是在某

6、个函数内部声明的变量,它只能被该函数访问。在嵌入式系统中,局部变量通常位于堆栈中。全局变量和局部变量的区别取决于在程序中的什么位置声明它。全局变量必须在函数外部声明,而局部变量则必须在一个函数内部声明。由于程序是固化在ROM中的,而不是下载到RAM中的。除非在应用程序运行开始后向RAM中下载什么,RAM中的内容在开机时是随机的。这就要求在用C语言开发嵌入式应用程序时不要使用初始化变量。当希望在多个源文件中共享变量时,需要确保定义和声明的一致性。最好的安排是在某个相关的.c文件中定义,然后在.h头文件中进行外部声明,在需要使用的时候,只要包含对应的

7、头文件即可。定义变量的.c文件也应该包含该头文件,以便编译器检查定义和声明的一致性。《MC9S12XS单片机原理及嵌入式系统开发》4.2C语言编程元素4.2.2头文件通常在一个程序的开始部分进行头文件包含操作。头文件通常包括常量定义、变量定义、宏定义和函数声明等,程序员可以在自己的程序中嵌入它们。内嵌库中最常见的头文件是标准输入/输出文件(stdio.h),该头文件包含用于输出信息和接收用户键盘输入的函数声明。在很多情况下,出于特定系统要求,程序员通常需要创建自己的头文件,并将它们包含在程序中。要包含一个头文件,必须在程序的开始部分使用编译预处理

8、指令#include。《MC9S12XS单片机原理及嵌入式系统开发》4.2C语言编程元素4.2.3编译预处理1.用于包含文件的#incl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。