### Codewarrior IDE 快速入门指南 #### 一、环境搭建与项目创建 **1.1 环境准备** 在开始之前,请确保已安装了最新版本的 Codewarrior 集成开发环境 (IDE)。Codewarrior 是一款专为 Freescale 半导体微控制器设计的集成开发环境,它支持多种微控制器系列,包括 HC08 系列。 **1.2 创建新项目** 打开 Codewarrior IDE 后,会看到如图 2.1 所示的初始界面。接下来,按照以下步骤创建一个新的项目: - **第一步:** 在 File 菜单中选择 New,这将弹出一个新窗口。 - **第二步:** 在该窗口中,选择 HC(S)08 New Project Wizard,之后会在 Project Name 框中输入项目的名称(例如:“HC08V3.1”),在 Location 框中指定项目保存的位置,如图 2.2 所示。点击 OK 进入下一步。 - **第三步:** 在 New Project Wizard – Page 1 中,选择 MCU 的类型。假设我们这里选择的是 MC68HC908GZ60 微控制器,如图 2.3 所示。点击 Next 进入下一步。 - **第四步:** 在 New Project Wizard – Page 2 中,选择编程语言类型,通常情况下为 C 或者汇编语言,如图 2.4 所示。 - **第五步:** 在 New Project Wizard – Page 3 中,选择是否采用 Processor Expert。Processor Expert 是一种用于自动配置硬件资源的工具,如果项目需要用到复杂的外设配置,则推荐勾选此项,如图 2.5 所示。 - **第六步:** 在 New Project Wizard – Page 4 中,选择是否采用 PC-lint。PC-lint 是一款静态代码分析工具,可以帮助开发者发现潜在的代码问题,提高代码质量,如图 2.6 所示。 - **第七步:** 在 New Project Wizard – Page 5 中,选择启动程序类型,根据项目需求进行选择,如图 2.7 所示。 - **第八步:** 在 New Project Wizard – Page 6 中,选择浮点数类型。这主要取决于项目中是否需要使用浮点数运算,如图 2.8 所示。 - **第九步:** 在 New Project Wizard – Page 7 中,选择存储器类型,这对于优化程序运行效率非常关键,如图 2.9 所示。 - **第十步:** 在 New Project Wizard – Page 8 中,选择硬件仿真连接器类型。这一步对于调试非常重要,因为不同的硬件接口会影响调试方式,如图 2.10 所示。 完成以上步骤后,Codewarrior IDE 就创建了一个新的项目,如图 2.11 所示。 #### 二、编辑与编译源文件 完成项目创建后,接下来是编辑源文件并进行编译。 **2.1 编辑源文件** 在左边的 Lab1.mcp 下面,选择目标 P&EFCS (Full Chip Simulation),打开 Sources 文件夹,可以看到 Codewarrior IDE 已经自动生成了一个 main.c 文件。打开这个文件,在右面的编辑窗口中编辑源代码。例如,下面展示了一个简单的程序,该程序利用基础时钟模块产生 1ms 的中断,在中断服务程序中计数,到 1000 次时,对 1 秒的标志位置位。在主程序循环中,查询此标志位,即相当于每隔 1 秒钟将 PortB,0 和 1 口的电平翻转一次。 ```c #include <hidef.h> /* for EnableInterrupts macro */ #include <MC68HC908GZ60.h> void TBM_Init(void); // 时钟初始化函数声明 word TimerCounter = 0; // 定义一个全局变量,用来做时钟计数 byte Flag1s = 0; // 1秒的标志位 // 主函数 void main(void) { CONFIG1 = CONFIG1_COPD_MASK; // 关闭看门狗 DDRB = (DDRB_DDRB0_MASK | DDRB_DDRB1_MASK); // B口0,1为输出 PTB = (PTB_PTB0_MASK | PTB_PTB1_MASK); TBM_Init(); // 时钟初始化 EnableInterrupts; /* enable interrupts */ /* include your code here */ for (;;) { if (Flag1s) // 时间到1秒了吗? { PTB_PTB0 = ~PTB_PTB0; // B口电平翻转 PTB_PTB1 = ~PTB_PTB1; Flag1s = 0; } // __RESET_WATCHDOG(); /* feed the dog */ } /* loop forever */ /* please make sure that you never leave this function */ } // 时钟初始化函数 void TBM_Init(void) { // 时基中断使能,时基中断标志位清0,外部晶振8MHZ,时钟中断频率8MHz/8192 1ms TBCR = (TBCR_TBIE_MASK | TBCR_TACK_MASK | TBCR_TBR0_MASK); TBCR_TBON = 1; // 时钟启动 } // 基本时钟溢出中断函数,每1ms中断一次 void interrupt17 Int_TBM(void) { // 基本时钟的中断处理逻辑 } ``` **2.2 编译与调试** 编辑完成后,使用 Codewarrior IDE 的编译功能对代码进行编译。如果代码没有错误,就可以进行调试了。通过设置断点、观察变量值等方式来确保程序按预期工作。 本篇介绍了如何使用 Codewarrior IDE 快速入门创建项目、编辑和编译源文件,并简要介绍了一个简单的定时器中断示例程序。希望这些信息能够帮助初学者快速掌握 Codewarrior IDE 的基本操作。
剩余10页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助