上一篇博文介绍了如何安装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在线答疑解惑!
如何构建一个简单而逼真的模型列车控制器电路
三星和Twitch Rivals将联合举办“移动游戏英雄”活动
工业扫码器,高效、精准、快速读取DPM条码
中美贸易战结束的原因竟是因为它?
SiGaNSiC-MOSFET以及Si-IGBT的工作环境
Microchip代码配置器MCC学习教程2 -- MCC操作
单片式、高电压、隔离型反激式转换器—LT3511
联想全新二合一笔记本:Blade概念本,帅到炸裂!
科普各类网线标识代表含义是什么
你不得不知道的平板电脑的保养知识,可以让它多活几年
WINSOK(微硕)荣获“2021年度十大半导体民族品牌”奖项
走进创新雄安,中科驭数携DPU系列产品亮相雄安中关村创新论坛
五款电路的常见接线方式
华为手机如何升级鸿蒙系统
汽车图像传感器 OV10630
三星开孔式可挠式OLED面板将用于Galaxy S10系列智能手机
超亮应急灯制作方法
规模大厂交出漂亮成绩单,30余家电子制造企业亮相NEPCON ASIA 2020
什么是电阻应变片?电阻应变片在电桥中的接法
B2B平台方案|化工行业B2B电商平台解决方案