上一篇博文介绍了如何安装MCC,这篇博文开始介绍整个MCC的界面,同时介绍如何使用MCC生成代码。如下图,是MCC用户界面,主要包括Resource Area(资源区)、Composer Area(设计区)、Pin Manager Area(引脚管理器区)。
首先,我们看下使用MCC生成外设驱动程序时的相关步骤,如下图。
现在我们开始在MPLAB X IDE中使用MCC生成外设驱动程序,请按下列步骤操作:
1、新建MPLAB X IDE项目或打开现有项目。例如,在此处为PIC16LF1559器件创建名为mTouch_mcc的项目,如下图。
2、打开MCC插件工具。为此,在MPLAB X IDE的菜单栏中,转到Tools -> Embedded(工具 -> 嵌入式),然后单击MPLAB® Code Configurator(MPLAB®代码配置器)。请注意,对于MAC用户,“Embedded”选择位于“Preferences”(首选项)菜单下。随即会启动MCC GUI。或者也可以直接点击MCC图标进行启动,如下图。
3、单击Project Resources区中的system Module 、Pin Module、Interrupt Module,可以对相应模块的配置位进行修改,界面如下图。
4、从Device Resources 区中选择要使能以生成代码的外设,使能的方式很简单,只需要双击需要的外设即可。例如,此处已使能EUSART,使能外设后,注意外设现已显示在Project Resources 区中Peripherals。此外,还会根据使能的外设调用引脚管理器区中的引脚。如下图。
5、配置GPIO模块也非常容易,只需将所需的GPIO脚位在GUI界面上进行勾选即可。并且Microchip的GPIO目前基本都是支持PERIPHERAL PIN SELECT(PPS) MODULE,即数字信号的外设脚位可以配置在任意引脚上,前提是数字信号,同时此引脚没有被使用。同时在初始化状态,可以配置默认高低电平、输入输出、WPU上拉、IOC支持电平变化中断等等,只需在GUI界面上勾选即可。如下图。
6、在设计区中配置外设。例如,我们做一个支持接收发送,波特率为115200的UART。首先双击Peripherals中EUSART,就会跳转到EUSART模块配置界面,选择使能EUSART,使能接收,使能发送,选择相应波特率和接收发送的位数。如下图。
7、根据应用需求在引脚管理器区中配置引脚。表格视图可垂直或水平显示。封装视图会以图形方式显示相应的引脚配置。将EUSART中RX和TX脚位进行选择,如下图。
8、配置完所有使能的模块后,单击设计区顶部的Generate Code按钮来生成驱动程序和初始化程序。如下图。
9、生成的驱动程序将包含在活动的MPLAB X IDE项目中,生成的驱动程序包括模块配置、引脚配置、中断配置和系统配置。如下图。
mcc.h和mcc.c文件包含配置位的定义和oscillator_initializer 函数。这些定义基于在设计区中为系统模块所做的设置。另外还包含system_initializer函数,可在应用程序中调用该函数以调用所有其他默认初始化程序。
根据在引脚管理器GUI中进行的配置,pin_manager.h和pin_manager.c文件会包含引脚管理器初始化函数。
interrupt_manager.h和interrupt_manager.c文件为可选文件,仅在允许外设中断且其中包含中断初始化函数时才会生成这些文件。
.h和.c文件为模块特定文件,其中包含各个模块的外设配置函数。
仅在MCC检测到项目中不存在任何main.c文件时,才会生成main.c文件。如果项目中存在任何先前的main.c文件,则无论其创建者是用户还是MCC,都不会生成该文件或覆盖现有文件。使用并非由MCC生成的main.c文件时,需要将“#include“mcc_generated_files/mcc.h”和SYSTEM_Initializer()这两行添加到main.c文件中。
10、MCC还有Diff功能。Diff检查工具用于防止MCC代码生成器覆盖用户对MCC生成的文件所做的任何修改。当MCC在代码生成期间检测到用户对文件进行了修改时,将显示Diff检查工具。修改的代码显示在左侧,新生成的代码显示在右侧。用户可使用顶部的导航按钮在检测到的各个修改之间快速移动。沿中心边缘显示的箭头用于选择将哪些更改复制到新生成的代码中。单击箭头即可将用户修改复制到新生成的代码中。如果不单击箭头,MCC会使用生成的代码替换用户所做的修改。如下图。
此篇博文完成MCC操作介绍,后续博文将重点如何使用MCC对MCU相应外设进行操作设计,及相应MCC中外设的名词解释。
登录大大通,查看更多MCC系列博文,解锁1500+完整应用方案,更有大联大700+FAE在线答疑解惑!
全部0条评论
快来发表一下你的评论吧 !