第一个样例程序及CodeWarrior工程组织
CodeWarrior使用教程

6
PDF 文件使用 "FinePrint pdfFactory Pro" 试用版本创建
第二课 显示和定制工程和目标文件
本课将讲述 CodeWarrior 操作文件的方式以及介绍它的工程(Project)窗口。 什么是工程文件
为了使用 CodeWarrior 来创建一个应用程序,你必须创建许多文件来构成一 个工程(Project)。该工程的设置和所有这些文件的指针都被存放在一个工程文件 中。这些设置包括编译和链接设置、源文件、库文件以及它们之间用于产生最终 程序的相互关系。你可以将这个工程文件看作该工程的大脑:它保存了所有文件 相互依存的关系并知道如何将它们组合成为一个可用的应用程序。工程窗口依次 显示了这些关于你的程序和该程序所包含的文件的信息,并允许你只需轻松点击 就可以修改这个工程。图 2-1 显示了工程窗口的外观。
CodeWarrior基础入门

在图 1-8 中项目窗口的右上角有一些小图标,这些图标代表了项目开发管理的最基 本功能:
该图标可以即时改变目标单片机型号
和开发调试场景。按下这一图标,将弹出 图 1-4 所示的对话框,可以按照前面针对
新项目建立模板的介绍,改变目标单片机
的型号,或设定不同的当前目标开发调试
场景。对于调试场景的改变,也可以直接
命信息出现,当前源程序的编译将立即终止,你必须按给出的信息提示解
决这些错误,然后才能继续编译。
完成编译过程中代码生成的各类选项设定,所含内容也很多, 最需要关注的是优化栏“Optimization”。你可以按实际需要打开或关闭 某些特定的优化选项,但我们一般通过下面介绍的“Smart Sliders”做综
在的项目文件夹中。如果你准备在新的项 目中修改这些文件,就选择拷贝,以免把
图 1-5
原始的文件改变后而影响先前的一些项 目;“Create main.c/main.asm file”选择是否在本项目中生成全新的 main.c 或 main.asm 文件,一般的项目开发都需要生成新的 main 文件。按用户自己的要求和
开发场景,不必太在意在这里的选择。
到此你如果按“Finish”,整个项目建立过程将完成,剩下的一些项目设定将自动 用缺省配置。如果你要自己选择调整,则按“Next”进入下一步,往项目中添加现 成的文件,见图 1-5。
张明峰 2007 年 10 月 于上海
FSL 08 系列单片机开发及 C 语言编程简介
件,可 以是 C,也 可以 是 asm, 或 C++。你可以在此栏下点击鼠标右键 在弹出菜单中选择“Add Files”添加
其他源程序文件; Includes 栏目下包含本项目所有被引
C语言重点语法及CodeWarrior使用介绍

的在线调试功能,可实现程序下载,单步/全速运行,可以设若干个断点,可 以观察和修改任意寄存器或 RAM 内存空间。BDM 几乎是开发飞思卡尔 8 位 (9S08 和 RS08 系列)、16 位(9S12 系列)和 32 位(Coldfire V1 系列)单片
快速实现芯片初始化代码的自动生成工 作,而且 PE 还提供了大量的软件库可供 用户开发时嵌入或调用。因为 8 位单片机
结构和功能相对简单,实现的控制项目复
杂度也不是很高,故一般情况下 8 位机开 发我们都不需要 PE 的介入,自己直接编
图 1-6
写程序代码即可。关于 PE 的详细介绍将
耗费大量的文字,这里按下不提。所以在 图 1-6 的对话框中选择“None”,并直接 按“Next”进入下一步。
如果你以前编写了很多代码文件现在想重 复利用,那么可以通过图 1-5 对话框左面
的文件树选择对应的文件,按中间的
“ Add ” 逐 个 添 加 到 右 侧 的 “ Project Files ” 列 表 中 。 若 加 错 了 就 用 “Remove”把列表中的文件移除。注意 此列表下方的两个选项:“Copy files to project”选择是否将所选的文件拷贝到现
这是项目建立模板的最后一步。在这一步
你可以决定有关 C/C++的一些编译和代码 生成模式,见图 1-7。 启动代码选择。所有 C 编译器会自动
生成一些启动代码。单片机复位后的
指令运行将首先执行这些启动代码, 然后再进入到你自己的程序模块 main
函数。这些启动代码主要完成堆栈指
针初始化、全局和静态变量自动清零
技术研发工程师招聘笔试题及解答(某世界500强集团)2025年

2025年招聘技术研发工程师笔试题及解答(某世界500强集团)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个技术不是目前主流的移动应用开发技术?A、HTML5B、Java(Android)C、Objective-C(iOS)D、C++2、在软件开发过程中,以下哪种设计模式旨在将创建对象的责任和对象的使用分开?A、工厂模式B、单例模式C、观察者模式D、策略模式3、在软件开发过程中,以下哪项技术通常用于提高软件的代码重用性和可维护性?()A. 面向对象编程(OOP)B. 原型设计C. 程序员手动编码D. 框架开发4、以下关于数据库的事务特性描述,哪个是错误的?()A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 可持久性(Durability)5、在面向对象编程中,下列哪个概念指的是子类可以继承父类的属性和方法?A、封装B、继承C、多态D、抽象6、考虑下面的伪代码段,如果变量x初始化为10,那么执行完这段代码后,x的值是多少?if x > 5 then x = x * 2 else x = x + 3A、7B、20C、13D、87、以下哪个技术栈是当前互联网公司中用于大数据处理和分布式系统的主流选择?A. Java + HadoopB. Python + SparkC. C++ + KafkaD. JavaScript + MongoDB8、在软件开发过程中,以下哪个阶段最关键?A. 需求分析B. 系统设计C. 编码实现D. 测试与部署9、在面向对象编程中,封装的主要目的是什么?A. 提高程序运行速度B. 隐藏对象的属性和实现细节C. 增加代码可读性D. 使类的定义更加清晰 10、下列哪个关键字用于在Java中创建类的实例?A. classB. interfaceC. newD. static二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术属于云计算的核心技术?()A、虚拟化技术B、分布式存储技术C、大数据处理技术D、物联网技术E、区块链技术2、在软件开发过程中,以下哪些是敏捷开发方法的特点?()A、迭代开发B、客户至上C、自组织团队D、高度文档化E、快速响应变化3、在面向对象编程中,下列哪些特性是用来描述类的?A. 封装性B. 继承性C. 多态性D. 可变性E. 原子性4、下列关于数据结构的说法,哪些是正确的?A. 数组是一种线性表B. 链表的访问效率比数组高C. 栈是一种先进后出的数据结构D. 队列是一种先进先出的数据结构E. 图是一种非线性数据结构5、以下哪些技术属于云计算服务模型中的PaaS(平台即服务)?A. 虚拟机B. 数据库服务C. 操作系统D. 软件开发工具6、在软件测试过程中,以下哪些属于非功能性测试?A. 性能测试B. 安全测试C. 单元测试D. 集成测试7、在软件开发过程中,以下哪些是敏捷开发方法论所强调的原则?(多选)A. 个体和互动高于流程和工具B. 可工作的软件高于详尽的文档C. 合同谈判高于客户合作D. 遵循计划高于响应变化8、关于面向对象编程(OOP)的下列描述中,哪几项是正确的?(多选)A. 封装可以隐藏实现细节,并提供对外部访问的接口。
东软计算机面试题及答案

东软计算机面试题及答案一、选择题1. 在计算机科学中,算法的时间复杂度是指:A. 算法执行的时间B. 算法执行所需的内存大小C. 算法执行所需步骤的数量D. 算法的输入数据量答案:C2. 下列哪个选项不是计算机网络的组成部分?A. 路由器B. 交换机C. 服务器D. 打印机答案:D二、填空题1. 在C语言中,用于定义结构体的关键字是______。
答案:struct2. 在HTML中,用于定义文档标题的标签是______。
答案:<title>三、简答题1. 请简述操作系统的主要功能。
答案:操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理以及提供用户界面。
2. 什么是数据库的事务?并简述其四个基本特性。
答案:数据库的事务是一组原子性的数据库操作序列,要么全部执行,要么全部不执行。
事务的四个基本特性是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
四、编程题1. 请编写一个函数,实现字符串的反转。
```pythondef reverse_string(s):return s[::-1]```2. 给定一个整数数组,请找出数组中第二大的数。
```pythondef find_second_max(nums):first = second = float('-inf')for num in nums:if num > first:second = firstfirst = numelif num > second and num != first:second = numreturn second```五、案例分析题1. 描述一个你曾经遇到的技术难题,并说明你是如何解决它的。
答案:(此处应根据个人经历填写具体案例分析,由于是示例,以下为虚构内容)在开发一个电子商务网站时,遇到了数据库性能瓶颈的问题。
Devops技术练习(习题卷1)

Devops技术练习(习题卷1)说明:答案和解析在试卷最后第1部分:单项选择题,共86题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]哪一种精益工具描述了跨功能的信息流、原料流和工作流,并且注重量化并消除浪费?A)改善形B)持续交付C)看板D)价值流图2.[单选题]黄金圈法则中的的核心项“为什么”代表一家公司的A)目的、原因和信念B)产品和服务C)竞争优势D)盈利能力3.[单选题]使用Kubernetes带来的好处有哪些A)横向扩展B)其他都是C)自动回滚D)自动调度4.[单选题]下面的内容不是 DevOps 工具链中的典型元素的是?A)监控工具B)自动化测试C)版本控制D)服务台事件管理系统5.[单选题]以下哪个角色是 DevOps 的利益相关者?A)QA 测试人员B)支持人员C)供应商D)以上全部6.[单选题]哪项 DevOps 实践依赖于部署流水线?该部署流水线可以按需一键部署。
A)持续测试B)持续集成C)DevSecOpsD)持续交付7.[单选题]在试图实施重大变革时,谁应参与规划活动并发挥变革推动者的作用?C)管理层D)需要得到证明的人8.[单选题]一个组织正对于敏捷团队完成一个“冲刺”后,安全检查需要额外时间而头痛。
其间的延迟已经影响了他们的发布能力。
他们希望将更多的安全性测试作为“左移”测试方法的一部分。
他们需要以下哪种DevOps 实践?A)ChatOpsB)持续测试C)DevSecOpsD)漏洞预警9.[单选题]一个组织正在希望提高团队之间的实时协作。
以下 DevOps 实践他们应该考虑哪种?A)看板B)ChatOpsC)逐步升级D)警报10.[单选题]除Spring Boot之外,主流的微服务开发框架还有什么?A)DjangoB)MyBaitsC)KubernetesD)Apache Dubbo11.[单选题]一个组织正在实施 DevOps。
开发人员担心他们的 ITSM 流程太复杂、太慢并且不支持 DevOps 原则和实践。
CodeWarrior 10.2简明手册(V1.1)

CodeWarrior 10.2简明手册CodeWarrior 10.2简明手册 (1)1 下载安装CW v10.2 (1)2 安装BDM驱动 (2)3 导入现有工程 (3)4 编译、下载源码工程 (4)5. 带有操作系统程序的编译、下载 (6)5.1 带有操作系统模板程序的打开 (6)5.2 带有操作系统模板程序的编译 (7)5.3 带有操作系统模板程序的下载 (7)6 CodeWarrior 10.2常用操作 (8)7 常见问题说明 (9)基于Eclipse的CodeWarrior Development Studio for Microcontroller v10.2(简称CW10.2)作为一个完整的集成开发环境,提供了高度可视化操作及自动创建复杂嵌入式系统应用的功能,为使用Freescale嵌入式产品开发提供了便利。
官方推荐使用CW v10.2进行Freecale Kinetis嵌入式产品的开发。
本文将对使用CW v10.2开发K60项目的操作进行简要说明。
本文安装的cw10.2 版本是特别版的,支持128KB的代码大小。
用户若需要更大的代码空间和更多的功能的话,则需要向飞思卡尔申请license,这些license都是要收费的。
1 下载安装CW v10.2飞思卡尔半导体为注册用户在其官方网站的网址链接处下载后,双击可执行安装文件,如图1所示,根据提示即可完成安装。
由于有的CW10.2版本安装完成后默认是中文版的,有的默认是英文版的。
集成开发环境的原版是英文版的,所以英文版的运行速度比中文版的快很多。
这里建议用英文版的CW10.2,不建议用户使用中文版集成开发环境,所以本章介绍的使用说明都是基于英文版的。
想将飞思卡尔的CW10.2集成开发环境变成英文版,首先需要关闭当前的CW10.2,然后右击CW10.2桌面图标选择“属性”,在“目标”栏下“…”后面加上“–nl en”再单击“应用”后便改成英文版;加上“–nl zh”可以改2 安装BDM驱动CW_v10.2中已包含了BDM写入器(Open Source BDM,OSBDM)的驱动文件,将BDM接到PC机器时,Windows会提示发现新硬件:提示连接到“Windows Update”更新,选择“否,暂时不”,点击“下一步”。
智能车参考书推荐

1.嵌入式系统设计—基于飞思卡S12X微控制器王宜怀,曹金华著北京航空航天大学出版社本书以飞思卡尔半导体的16 位S12X 系列微控制器中MC9S12XS128 为蓝本阐述嵌入式系统的软件与硬件设计。
全书共12 章,其中第1 章为概述,阐述嵌入式系统的知识体系、学习误区与学习建议。
第 2 章给出XS128 硬件最小系统,并简要介绍S12XCPU (CPU12X)。
第3 章给出第一个样例程序及CodeWarrior 工程组织,完成第一个S12X 工程的入门。
第 4 章给出基于硬件构件的嵌入式系统开发方法。
第 5 章阐述串行通信接口SCI,并给出第一个带中断的实例。
1-5 章完成了学习一个新MCU 完整要素(知识点)的入门。
6-12 章分别给出GPIO 的应用(键盘、LED 及LCD)、定时器(含PWM)、A/D 转换及串行外设接口SPI、Flash 存储器在线编程、CAN 总线、S12XS128 其他模块等。
附录A 给出了XS128 的I/O 映像寄存器,附录B 给出了S08/S12/ColdFire BDM 简明使用方法,附录 C 给出了常见实践问题解答,附录 D 给出了S12X 的 C 语言函数库,附录 E 给出了XS128的中断源与中断向量。
2.大学生智能汽车设计基础与实践吴怀宇,程磊,章政著电子工业出版社本书为全国大学生智能汽车大赛的训练教程。
本书包含四个部分,共10章。
第一部分(第1章)介绍了国内外智能汽车研究和大学生智能汽车竞赛的基本情况。
第二部分(第2~5章)介绍了智能汽车大赛所需的技术基础,包括硬件基础、软件基础、计算机辅助设计基础和微控制器基础。
第三部分(第6~9章)介绍了智能汽车设计的具体实践过程,包括各型智能车的传感器与硬件电路设计、信号处理、路径识别及运动控制的算法实现、系统调试过程与经验。
第四部分(第10章)探讨了非理性因素在智能汽车竞赛中的重要作用。
本书可作为普通高等学校大学生创新教育与实践的相关课程的教材,也可作为广大业余车模爱好者的参考书。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.GPIO的基本编程方法举例
以D口第3脚的GPIO功能为例
为了程序通用性,对要设置的引脚进行宏定义 #define RUN_PORT #define RUNpin PORT_D // 灯使用的端口 3 // 用RUNpin代替“3” //表示将RUN_PORT的第3位设置为0 //表示将RUN_PORT的第3位设置为1
第一种方法的操作步骤如下 选择File->New Project,弹出新建对话框,选择 “S08 S08A Family AW60”,点击“下一步”,选中 “C”的选项,如果程序中有汇编代码则应该选中 “Relocatable assembly”,在右侧Project name中 输入工程名,在Location中选择工程所在目录。单击 确定即可 第二种方法是使用已存的工程来建立另一个工程。
小灯闪烁工程相关源文件的树型(物理)结构
CodeWarrior生成的文件
可执行连接格式(.elf)
工程 文件
编译、连接
目标代码文件(.S19) 存储器分配(elf.xMAP)
3.4.3 系统启动及初始化相关文件
连接文件Project.prm 关于#pragma指令的简要说明 start08.c文件及启动过程 AW60映像寄存器头文件MC9S08AW60.h
3.4.4
芯片初始化、主程序、中断程序及其他文件
系统初始化构件(MCUInit.h与MCUInit.c) 总头文件Includes.h和主程序文件main.c 中断文件isr.h与isr.c 芯片无关文件 工程说明文件
3.4.5
机器码文件(.s19文件)的简明解释
目标代码文件是以S记录(八种)格式表示的机器码文件
3.6
第一个汇编语言工程:控制小灯闪烁
基于汇编语言编程给人的第一感觉是难,相对于其它的 高级语言编程,汇编语言在编程的直观性、编程效率等方面 有所欠缺,但针对资源相对较少的单片机以及时序要求严格 的硬件接口编程,掌握汇编语言还是必不可少的。使用汇编 语言编程是基本功,学习和掌握汇编语言编程可以增加编程 者的“内力”,为使用高级语言编程打下坚实的基础。
2.CW环境安装与设置
按照安装向导单击鼠标就可以自动完成,安装完毕以后 要上网注册以申请使用许可(license key)。下面是CW环 境运行界面
CW环境运行界面
3.3.2
苏州大学S08/S12/ColdFire 三合一写入器
开发人员可以通过S08/S12/ColdFire 三合一写入器对目 标板中的Flash进行擦除、写入等操作,将机器码下载到 Flash后,可以进行程序的运行、调试。
3.上拉下拉电阻与输入引脚的基本接法
输入引脚有三种不同的连接方式:带上拉电阻的连接、 带下拉电阻的连接和“悬空”连接。
若MCU的某个引脚通过一个电阻接到电源(Vcc)上,这 个电阻被称为“上拉电阻”。与之相对应,若MCU的某个引 脚通过一个电阻接到地(GND)上,则相应的电阻被称为 “下拉电阻”。悬空的芯片引脚被上拉电阻或下拉电阻初 始化为高电平或低电平。
3.3
开发套件CodeWarrior开发环境与 S08/S12/ColdFire写入器
3.3.1 CodeWarrior开发环境简介与基本使用方法
1.CodeWarrior环境功能和特点
CodeWarrior开发环境(简称CW环境)是Freescale公司研 发的面向Freescale MCU与DSP嵌入式应用开发的商业软件工 具,它有3个版本:特别版、标准版、专业版。在其环境下 可编制并调试AW60 MCU的汇编语言、C语言和C++语言程序。 CW环境包括以下几个功能模块:编辑器、源码浏览器、搜 索引擎、构造系统、调试器、工程管理器。
3.1
通用I/O接口基本概念及连接方法
1. I/O接口的概念
I/O接口,即输入输出接口,是微控制器同外界进行交互的 重要通道。这里的接口英文是port,也可以翻译为“端口”, 另一个英文单词是interface,也翻译为接口。在嵌入式系统中, 接口千变万化,种类繁多,有显而易见的人机交互接口,如操 纵杆、键盘、显示器;也有无人介入的接口,如网络接口、机 器设备接口
当在已有工程的基础上,做另一个项目时,比如在Light 工程的基础上编写LCD程序,需要进行如下设置 更改工程文件夹名为LCD 更改Light.mcp为LCD.mcp 文件夹Light_Data更改为LCD_Data 将bin文件夹的所有内容删掉
3.5 第一个C语言工程:控制小灯闪烁
GPIO模块框图
GPIO的基本编程方法:
通过“数据方向寄存器”设置相应引脚为输入或输出 若是输出引脚,则设置“端口引脚数据寄存器”引脚输出 高电平或低电平 若是输入引脚,则通过“端口引脚数据寄存器”获得引脚 的状态
3.2.2
GPIO模块寄存器
GPIO模块的每个口最多对应8个GPIO引脚,但各个GPIO口 的编程寄存器均为8位,没有对应引脚的位无效。 GPIO模块寄 存器的命名有一定的规范,所有寄存器都在AW60芯片寄存器及 相关位定义头文件AW60.h中定义。其中“端口数据寄存器”是 PT+该端口的名称+D。“端口输出方向寄存器”是PT+该端口的 名称+DD。所有寄存器的位编号从0开始,且最低位编号为0。 例如,一个8位寄存器的最低位编号为0,最高位编号为7。
S01E00002E2F4F424A2F4330315F4447313238B3CCD0F2BFF2BCDC2E739BC S1134000A7CF1FFF79003C1640F01801AE1D0618 1B … S113FFF0400A400A400A400A400A400A400A4000 B7 S9034000 BC
当需要对寄存器的具体位进行设置,通常会使用位操作 RUN_PORT &= 0b11110111 RUN_PORT |= 0b00001000
为了程序通用性,以上两行代码需要写成:
RUN_PORT &= ~(0x01<< RUNpin) //将RUN_PORT的第3位设置为0 RUN_PORT |= 0x01<< RUNpin //将RUN_PORT的第3位设置为1
I/O口输出电路
3.2
AW60的GPIO
3.2.1 AW60 GPIO编程的基本原理与编程基本方法
AW60的大部分引脚具有多 重功能,可以通过编程设定使 用其中一种功能。 AW60有7个 GPIO口,每个GPIO口的名称由 一位英文字母组成,分别是A、 B、C、D、E、F、G。右图给出 了AW60的7个GPIO口的引脚分布 情况。
3.6.4 理解第一个汇编工程的执行过程
系统上电
系统在加电过后,芯片内的硬件机制会产生加电复位中断, 这时系统到向量表中查找复位向量地址,并转向这个地址继续 执行。在本书所有工程样例,到*.prm文件中都可以找到异常 向量表,在该表的第一行是复位中断向量地址: VECTOR 0 _Startup // 复位向量
3.6.1
汇编工程文件的组织
小灯闪烁汇编工程相关源文件的树型结构
主函数文件(main.asm)
主程序文件main.asm,包含有:
工程描述:工程名、硬件连接索引、程序描述、目的、说 明、注意、日期等 总头文件 主程序:主程序一般包括初始化与主循环两大部分。初始 化包括堆栈初始化、系统初始化、内存变量初始化、I/O端 口初始化、中断初始化等 内部直接调用子程序:若有不单独存盘的子程序,建议放 在此处 外部子程序:若程序使用独立存盘的子程序,可在此处使 用“INCLUDE子程序文件名”将其包含。注意,独立存盘的 子程序必须与主程序在同一个目录中
中断处理程序文件(isr.asm) 框架程序文件 汇编软件构件文件 通用程序文件
3.6.2
Light构件汇编程序
包含: Light构件的汇编头文件Light.inc Light构件的汇编程序文件Light.asm 3.6.3 Light测试工程主程序 首先调用LightInit函数,初始化所需的每一盏指示灯。注 意初始化时,要让每一盏灯初始状态为“暗”。随后,通 过Light_L_A函数控制指示灯亮、暗。在指示灯亮暗之间增 加适当的延时后,就能够在程序运行时,较明显的看到指 示灯闪烁的现象
2.通用I/O
所谓通用I/O,也记为GPIO(General Purpose I/O),即基 本的输入/输出,有时也称并行I/O,或普通I/O,它是I/O的最 基本形式
通用I/O接口一般应具备
放置输入或输出控制字的寄存器 放置工作方式控制字的寄存器 放置要交换数据的寄存器 放置反映工作状态的寄存器Biblioteka .4.6lst文件与map文件
lst文件 C语言编译后生成LST文件,在LST文件可查看机器码、 偏移地址、对应的汇编语句信息,是分析程序的工具之一 map文件 这个文件告诉我们,源代码被编译连接后的机器码, 到底被下载到MCU内存储器中的什么地方,在高级调试时, 可能需要用到这些知识
3.4.7 如何在CW环境下新建一个S08工程
1.操作GPIO的基本寄存器 端口数据方向寄存器DDR(Port Data Direction Register) 这些位分别控制着端口引脚是输入还是输出,若为0,则引 脚为输入,若为1,则引脚为输出。复位时为0x00 端口数据寄存器PORT(Port Data Register) 若引脚被配置为输出,PORTn 寄存器中每一位数据决定了对 应引脚的输出电平。复位时PORTn 寄存器的所有被使用的位 为1
3.5.1 GPIO构件 GPIO构件的头文件GPIO.h GPIO构件的程序文件GPIO.c 3.5.2 Light构件 Light构件的头文件Light.h Light构件的程序文件Light.c 3.5.3 Light测试工程主程序 3.5.4 理解第一个C工程的执行过程 系统上电 执行Start08.c文件中的_Startup函数 中断程序的执行