- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3.4章 Embest简介加C语言程序设计基础补充和7段LED模块和键盘概述
开发流程 调试配置 控制程序执行 上次实验内容 1. 完成数学运算: 结果存入R10寄存器中。 要求:定义变量x=45,y=32,z=7 2. 完成将src:处的数据拷贝到dst:处。 src: .long 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4 dst: .long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 实验3: C语言程序实验 实验内容 1. 编写7-led程序,完成7-led模块循环显示0-F的程序. 2. 要求在程序中设置断点,位置在显示’0’的程序之前。 3. 在软件仿真环境中存储器窗口中观察结果并记录 实验准备 掌握7段数码管的工作原理 知道数码管的地址空间 知道各位与各段的对应关系 第五章 基于ARM的嵌入式应用程序设计 5.3 嵌入式C语言程序设计基础 嵌入式C语言程序设计是利用基本的C语言知识,面向实际嵌入式工程应用进行程序设计。 5.3 嵌入式C语言程序设计基础 通过7段LED模块程序开发的实例介绍C语言的基本语法及知识点在嵌入式程序开发中的应用。 软件源文件的形式(功能) …… bl Main # jump to Main() …… 启动代码说明 应用程序文件 main.c main.c文件 main.c文件结构 头文件包含 函数声明 main主函数 包含的头文件 1、头文件包含伪指令 格式: #include 头文件名.h ;标准头文件 #include “头文件名.h” ;自定义头文件 头文件中包含的内容 包含了程序中所需的S3C44B0x芯片各模块中寄存器的宏定义 宏定义伪指令 格式: # define 宏标识符 宏体 如 #define ULONG unsigned long 程序中ULONG代表的意思是unsigned long,程序编译时,预处理器会将程序中所有的ULONG用unsigned long替换 分类: (1) 简单宏 (2) 参数宏 (3) 宏释放 (4) 条件宏 (1) 简单宏 #define rULCON0 \ (*(volatile unsigned *)0x1d00000) Volatile的使用 编译器优化 当读取一个变量或存储器内容时,为提高存取速度,编译器在优化程序时有时会先把变量或存储器内容读取到一个寄存器中,以后在取变量或存储器内容时,就直接从寄存器中取值; 但是当变量或存储器内容在本程序里改变时,会同时把新值copy到该寄存器中,以便保持一致; 但当变量或存储器内容在别的程序中改变时,该寄存器的值不会相应改变,从而造成应用程序读取的值和实际的当前值不一致。 Volatile的使用 告诉优化器在读该寄存器值时必须每次都小心地从实际地址空间中重新读取,而不能使用保存在寄存器里的备份。 (1) 简单宏 #define rULCON0 \ (*(volatile unsigned *)0x1d00000) (2) 参数宏 # define SQR(x,y) sqrt((x)*(x)+(y)*(y)) 源文件中有: z=SQR(a+b,a-b); /*替换为z=sqrt((a+b)*(a+b)+(a-b)*(a-b));*/ 参数宏类似于函数的调用。事实上,许多库函数是用参数宏写的。 参数宏和函数的区别: 宏的形式参数表中没有类型说明符; 参数宏在时空开销上比函数都要小。 (3) 宏释放 作用:用于释放原先定义的宏标识符。 格式:#undef 宏标识符 #undef ULONG 左边是先测试是否已定义,右边是先测试是否未定义,这样根据测试决定如何处理,是为了避免重复定义。 extern “C”{}的作用就是说明这在{}范围之内的变量或函数要按C标准来编译。 对于C++写的变量或函数,如果C要调用,就必须在C++定义变量或函数时加以声明, 否则就不能调用. 头文件中包含的内容 包含了程序中所需的S3C44B0x芯片各模块中寄存器的宏定义 为什么要使用文件包含命令呢? 2 Main函数部分 数码管工作原理 数码管程序设计 7段数码管工作原理 数码管工作原理 ‘共阳极’数码管:7个发光二极管的阳极都连在一起的; ‘共阴极’数码管:7个发光二极管的阴极都连在一起的 分类及驱动方式 数码管工作原理(1) --各位与各段的对应关系: 对应规则: a-----D7 b-----
您可能关注的文档
- 第2章 逻辑门电路yn.ppt
- 第2章 晶体投影.ppt
- 第2章增值税法(税法-上海工程技术大学,李智忠).ppt
- 第2章 网络综合布线材料.ppt
- 第2章操作系统和windows7.pptx
- 第2章 第3节 探究铁及其化合物的氧化性或还原性(第3课时)课件 鲁科版必修1.ppt
- 第2章数据表的建立与操作.ppt
- 第2章时域分析最终稿.ppt
- 第2节 水的电离和溶液的酸碱性(第7课时).ppt
- 第2章(操作系统使用Win7).ppt
- 中国行业标准 DB/T 100-2024区域性地震安全性评价.pdf
- 《GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架》.pdf
- GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- DB/T 100-2024区域性地震安全性评价.pdf
- 中国行业标准 GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- 校园周边书店阅读氛围对初中生阅读素养提升的影响研究教学研究课题报告.docx
- 初中校园餐饮卫生监管与食品安全教育创新模式研究教学研究课题报告.docx
- 《文化遗产保护与旅游开发平衡机制的法律法规完善研究》教学研究课题报告.docx
- 《农作物病虫害生物防治技术的经济效益与社会影响分析》教学研究课题报告.docx
- 1 剖宫产术后子宫瘢痕憩室治疗中的并发症预防与护理措施教学研究课题报告.docx
最近下载
- 药事管理学药品注册管理课件.ppt VIP
- 《肩袖损伤与肩周炎》课件.ppt VIP
- 2024年重庆市巴蜀中学初升高自主招生语文试卷真题(含答案).docx VIP
- 中介新房培训课件内容.ppt VIP
- 2024年重庆渝中区重庆市巴蜀中学自主招生数学试卷(初升高保送)(详解版).pdf VIP
- 2025年西藏自治区公务员录用考试面试真题试卷(结构化小组)题型分析.docx VIP
- 药品注册管理课件.ppt VIP
- 击剑基础理论知识单选题100道及答案解析.docx VIP
- 《未成年人保护法》课件ppt.pptx VIP
- (高清版)B-T 19363.1-2022 翻译服务 第1部分:笔译服务要求.pdf VIP
文档评论(0)