编辑: cyhzg 2017-07-26
1 MPLAB? Harmony

3 之基础篇(09) -- 如何使用 Harmony I2C 驱动开发应用程序 Microchip Technology Inc.

MCU32 产品部

一、 简介 MPLAB? Harmony是MPLAB开发工具生态系统的重要组成部分, MPLAB? Harmony

3 适用于是 Harmony 系列开发工具的换代升级,增加了对 SAM?系列微处理器的 支持,是Microchip?32 位SAM?和PIC?微控制器的嵌入式系统的重要软件方案. 本文主要介绍如何利用 MPLAB X IDE 创建一个工程,利用 MPLAB Harmony

3 Configurator(MHC)添加IC外设驱动到工程文件, 并利用 MHC的配置工具(CLOCK, PIN 等)完成 IC 外设的配置.通过调用 I2C PLIB API 实现对 AT24 系列 EEPROM 的读写操作.

二、 硬件工具和软件平台 硬件:SAM E70 Xplained Board http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-44050-Cortex-M7-Micr ocontroller-SAM-E70-XPLD-Xplained_User-guide.pdf

2 软件(开发工具和环境的安装和使用,见 MPLAB? Harmony

3 之基础篇(01) -- Harmony

3 开发环境搭建 MPLAB? Harmony

3 之基础篇(02) -- 了解 MHC MPLAB? X IDE: v5.10 或者更新 XC32: v2.10 或者更新 Harmony 3: v3.10 或者更新

三、 详细步骤 接下来我们就可以用 MPLAB X IDE 和MHC 一步步地创建和配置 I2C 外设驱动的程 序. 注:以下 MHC 配置里没有特别标注出来的地方,说明使用的是默认选项.

(一)在MPLAB X 里新建一个 Harmony

3 项目 在MPLAB X IDE 里点击 File >

New Project:

3 选择 32-bit MPLAB Harmony Porject ,然后点击 Next 按钮.

4 选择 Harmony Framework 路径,然后点击 Next 按钮. 填写项目名称,本示例使用 E70_I2C ,然后点击 Next 按钮.

5 选择芯片类型 ATSAME70Q21B ,最后点击 Finish 按钮启动 MHC 配置界面.

(二)启动 MHC 第一次创建项目时, MHC 配置界面会自动启动. 或者手动在 MPLAB X 里点击 Tools >

Embeded >

MPLAB Harmony

3 Configurator 启动 MHC:

6 启动完成后的,主界面如下图:

(三)添加 Harmony Core, I2C0 外设驱动, AT24 EEPROM 驱动和 E70 Xplained Board (BSP)支持 从Harmony 中选择 Core,并选择合理的 Core 配置.

7 从Peripherals 选择 TWIHS0 外设驱动,双击,添加到 Project Graph,USART 采用 默认的设置.

8 从Harmony 中选择 AT24 的驱动程序. 选好 I2C 和AT24 的驱动以后,在Project Graph 中用直线连接连接两者的 I2C 接口.

9 从Board Support Packages 选择 E70 Xplained BSP 的支持,双击添加到 Project Graph.

10

(四)选择 MHC>

Tools>

Clock Configuration 菜单,启动时钟配置 E70 的时钟配置界面,确认时钟源和 I2C 的时钟是我们需要的配置.

11 这里我们使用默认配置即可:

12

(五)使用 MHC>

Tools>

Pin Configuration, 配置 I2C 和LED0 的引脚分配 I2C 的管脚分配可以参考以下 E70 Xplained Board User guide 文档 (Atmel-44050-Cortex-M7-Microcontroller-SAM-E70-XPLD-Xplained_User-guide.pdf) E70 XPlained board 上分配 PA3 和PA4 到TWD0 和TWCK0.

13 E70 XPlained board 上分配 PA23 到LED0.

(六) 保存 项目配置和 代码生成 在任务栏点击 保存 和 代码生成 按钮 展开左侧的工程项目管理目录树,可以看到相关的 I2C 头文件和源代码已经生成了.

14

(七)设置项目的调试接口和编译器 选择项目 E70_I2C,右键选择 Properties

15

(八)app.h 里增加如下测试代码

16 // Section: Type Definitions #define BUFFER_SIZE

256 /* Application states Summary: Application states enumeration Description: This enumeration defines the valid application states. These states determine the behavior of the application at various times. */ typedef enum { /* Application'

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题