PIC单片机应用开发实践教程(六): 代码配置器(MCC)

源码基于  PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 

1、简介

        MPLAB 代码配置器(MPLAB Code Configurator,MCC)通过图形用户界面(Graphical User Interface,GUI)生成驱动程序代码。生成的驱动程序可用于控制 PIC单片机上的外设。 GUI 为设置外设配置提供了一种便捷的方法。 MCC 是 MPLAB X IDE 的一个插件。 另外,MCC用于配置和生成库,这允许用户对软件库和片外外设进行配置并生成代码。 生成的驱动程序或库可用于任何 Microchip PIC 器件应用程序。在启动 MCC 插件前, MCC 需要创建 MPLAB X IDE 项目或打开现有项目。必须进行上述操作,因为 MCC 需 要了解项目中使用的器件,进而访问器件特定的信息 (如寄存器、位和配置)并设置 MCC GUI。 MCC会根据在GUI中做出的选择生成源文件和头文件,并将生成的文件添加到MPLAB X IDE 的活动项目中。

2、mplab x ide安装mcc(代码配置器)

2.1 打开tools-plugins,在打开的plugins窗口中点击 Available Plugings, 然后找到 MPLAB Code Configurator,勾选,点击Install

2.2 点击next,在跳出窗口选择agree,等待安装结束之后,restart

2.3 打开tools-Embedded-MPLAB Code Configurator,启动代码配置器

 3 MCC工作区

 3.1 概述

MCC 用户界面包含以下三个主要工作区,

(1). Resource Area(资源区):该区域显示可在选定器件中使用且受 MCC 支持的片 上外设、库和片外外设。资源区包括为项目选择的项目资源和显示器件中提供的 资源和本地机器上 MCC 库版本的器件资源。

(2). Composer Area (设计区):该区域是用于配置外设或库驱动程序的主要区域。 该区域为用户提供配置外设或库驱动程序的界面。

(3). Pin Manager Area (引脚管理器区):可在该区域配置器件的 I/O 引脚。 Pin Manager Table View(引脚管理器表格视图)提供了一个用于配置器件引脚的界 面。此区域还以封装视图的形式显示器件的引脚分配及引脚功能。

3.2 资源区

该资源区可分为三个子窗口:

  • Project Resources (项目资源)区
  • Device Resources (器件资源)区
  • Versions (版本)区

3.2.1 Project Resources 区

 Project Resources 区始终有三个系统模块可供使用。这三个模块不能删除,分别是:

  • Interrupt Module (中断模块):配置器件的中断。
  • Pin Module (引脚模块):配置器件的引脚。
  • System Module(系统模块):配置器件的系统时钟、配置位和其他器件级功能。

3.2.2 Device Resources 区

Device Resources 区列出了在 MPLAB X IDE 项目中配置的器件的数据手册、
片上和片外外设以及受 MCC 支持的库。这些项可添加到 MCC Project Resources 区。双
击外设或库的名称,可将其从 Device Resources 区移至 Project Resources 区。

 3.2.3Versions 区

 

3.3 引脚管理器区

3.3.1 封装视图

3.3.2 表格视图 

表格视图中最左边三列分别指示模块名称、功能名称和方向。

3.4 设计区

从 Project Resources 区中选择外设或库后,设计区中会显示其相应的配置 GUI。可根据应用需求在设计区中配置外设和库。完成外设配置后,单击 Generate Code (生成代码)按钮将为针对该器件配置的所有外设和库生成驱动程序。

 如果从 Project Resources 区选择 UART1 外设,则显示 UART1 设计区。UART 设计区中的 Easy Setup (快速设置)选项卡允许配置与发送和接收操作相关的各种 UART 参数。

自动生成代码。

在任何时候,使用位于 MPLAB X IDE 工具栏 中的 Undo (撤销)和 Redo(重做)按钮将撤销或重做设计区或引脚管理器区中的设置。

4 生成 MCC 驱动程序

4.1设置 MPLAB X IDE 并启动 MCC

要在 MPLAB X IDE 中使用 MCC 生成驱动程序,请按以下步骤操作:
(1). 新建 MPLAB X IDE 项目或打开现有项目。
(2). 如果在 MPLAB X IDE 中打开了多个项目,则应通过在 MPLAB X IDE 中选择“Set
as Main Project”(设置为主项目)将其中一个设置为主(活动)项目。对于活动项目, MCC 会自动包含生成的驱动程序文件。
(3). 打开 MCC 插件工具。为此,在 MPLAB X IDE 的菜单栏中,转到 Tools →Embedded → MPLAB® Code Configurator v3。或者,单击 MPLAB X IDE 工具栏中的 MCC 图标。

 4.2 选择并配置模块

打开 MCC 后,可将外设和库模块添加到项目。

  • 在 Project Resources 区中,通过单击模块名称选择需要配置的外设或库模块。选择要配置的外设或库模块后,该外设的配置 GUI 会显示在设计区中。
  • 根据应用需要在设计区中配置外设。
  • 根据应用需求在引脚管理器区中配置引脚。

4.3 生成代码

当按下 Project Resources 窗口中的 MCC Generate 按钮时, MCC 执行下面列出的操 作。代码生成的详细信息显示在 MCC Output (输出)窗口中。

  • 保存 MCC 配置文件。如果这是第一次保存 MCC 配置文件,将显示 Save 对话框。用户可指定 MCC 配置的名称或接受默认名称 MyConfig。
  • 如果模块的配置自上次 MCC 为该模块生成代码以来发生了更改,MCC 将为外设或库模块生成代码。

如果 MCC 尝试重新生成磁盘上已在 MCC 外部做了修改的文件,则会显示 MCC Merge (合并)窗口。 MCC Merge 窗口允许用户选择是否保留修改后的文件(默认操作)或使用 MCC 生成的内容替换修改的内容。

 在 MCC Merge 窗口顶部的中心边缘处,有一个箭头。单击该箭头,会将用户在当前文件中所做的所有编辑替换为 MCC 刚刚生成的 MCC 更新代码。箭头上面的数字表示当前的差异和差异总数。

 可选择用 MCC Updated Code(MCC 更新代码)的单独行替换编辑的代码。单击左侧窗口的右边缘中的箭头会将 MCC Updated Code 复制到生成的驱动程 序文件。接受更改后,合并工具将删除突出显示的文件并突出显示列表中的下一个文件。为了确保完成所有更新,在接受所有更改前关闭合并工具,会生成警告。

5 生成的源文件和头文件

生成的驱动程序将包含在活动的 MPLAB X IDE 项目中

  • mcc.h 和 mcc.c 文件包含配置位的定义和 OSCILLATOR_initializer 函数。这些定义基于在设计区中为系统模块所做的设置。另外还包含SYSTEM_initializer函数,可在应用程序中调用该函数以调用所有其他默认初始化函数 (在 GUI 中以齿轮符号表示)。
  • 根据在引脚管理器 GUI 中进行的配置,pin_manager.h 和 pin_manager.c 文件会包含引脚管理器初始化函数。
  • interrupt_manager.h 和 interrupt_manager.c 文件为可选文件,仅在允许外设中断且其中包含中断初始化函数时才会生成这些文件。
  •  .c 和 .h 是模块特定文件,其中包含各个模块的外设 \ 库配置函数。
  •  仅在 MCC 检测到项目中不存在任何 main.c 文件时,才会生成 main.c 文件。如果项目中存在任何先前的 main.c 文件,则无论其创建者是用户还是 MCC,都不会生成该文件或覆盖现有文件。使用并非由 MCC 生成的 main.c 文件时,需要将“#include”、“mcc_generated_files/mcc.h”和 SYSTEM_Initializer()这三行添加到 main.c 文件中。 MCC 生成的 main.c 文件可能包含用于允许中断的的注释掉的代码行。如果应用程序需要在启动时允许中断,请从相应行删除注释。

可根据需要从用户应用程序代码调用所有这些 MCC 生成文件中提供的函数。MPLAB X IDE 为所有的 MCC 生成内容提供自动完成帮助。在项目中编辑源代码时,开始输入 MCC API 或 MCC 变量名称,然后按 <CTRL + 空格 >。MPLAB X IDE 将显示选项列表供完成输入。