Harmony

PIC32MZ——按键中断

Harmony中,使用GPIO中断非常方便,仅需三步:一是将需要使用的GPIO设为Input;二是勾选ChangeNotify(如果想要设置默认状态,还可以设置上拉或者下拉);三是在system_interrupt中调用中断函数。

以下为示例,按键为RB12,这里是按下按键接地,低电平,包含长按以及短按处理:

PIC32MZ——按键中断

PIC32MZ——按键中断

PIC32MZ开发环境的搭建

Microchip在新一代的32位PIC芯片采用了一种新的架构来进行开发,这就是Harmony。

Harmony类似于ST的STM32CubeMX,将芯片Library封装到中间层,采用统一接口,仅底层不同,不过底层已经由Microchip已经写好,所以,用户上层的同一份代码,理论上稍加修改MHC配置,就可以很方便的移植,有点像Qt的意思了,一次编写,处处编译(不同于Java)。

Harmony还有一个优势,就是可以采用Dynamic驱动,同一类型的外设,仅需要一份驱动代码,非常节省空间,不过Dynamic到目前为止,还有一些瑕疵,例如PWM就没有办法实现完全Dynamic,对应的Tmr只能使用Static,若是其他的Tmr使用Dynamic,那么只能在使用PWM时,自己调用底层的PLIB_TMR来实现Static调用。这里先不讲这些。

实际上Harmony只是一个Library集合,开发仍然需要IDE,这就是MPLAB X IDE。开发工具清单如下:
1、MPLAB X IDEv3.51(集成了XC32编译器,后续版本会高于3.51)
2、Harmony_v2_02_00b(有新版本使用新版本即可)
3、com-microchip-mplab-modules-mhc.nbm(Harmony在MPLAB中调用的插件)

作者:李建平 Microchip Technology Inc.
MCU32产品部 资深应用工程师

Segger 的 emWin 是嵌入式系统应用里比较常用的图形开发平台,Microchip 的 MPLABHarmony 免费提供了 Segger emWin 图形库给用户,帮助客户快速开发基于 PIC32 的低成本图形应用方案。

详阅请点击下载《MPLAB® Harmony 之学习篇(十五)-- 创建基于 Harmony 的 Segger emWin 图形应用 》

作者:李建平 Microchip Technology Inc.
MCU32产品部 应用工程师

在《MPLAB® Harmony Harmony 之学习篇(九)创建图形开发项目》中我们提到了在图形开发的过程中要用到各种不同的字体。通常情况下,英文等拉丁语系由于字符不多,是非常容易添加的,但是对于中文等字体的显示,由于字符非常多,必须考虑存储容量的限制。

本文通过建立一个工程,显示简单的中文字符,介绍如何对字库进行裁剪,选取自己想要的字符。

详阅请点击下载《Harmony 之学习篇(十)-- 在图形开发项目中增加中文字体》

作者:王翀 Microchip Technology Inc.
MCU32产品部 资深应用工程师

Harmony 下提供了很多应用程序示例。每个应用示例包含一个 main 函数,一个或
多个独立的软件模块(设备驱动,中间件,以及系统服务)。

详阅请点击下载《MPLAB® Harmony 之学习篇(八) -- 利用 Harmony 已有的应用示例集成自己的应用》

作者:李建平 Microchip Technology Inc.
MCU32产品部 应用工程师

本文用于指导用户建立一个基于 Harmony 的工程项目,通过对使用 MHC 配置并产生代码,加深对 Harmony,MHC 的认识。

有关 Harmony 和 MHC 的介绍,请参考系列学习篇之《Harmony 设计理念和优点》和《了解 MHC》。

详阅请点击下载《MPLAB® Harmony 之学习篇(三)-- 创建一个 Harmony 项目》

MPLAB® Harmony之学习篇(十一)-- 轻松创建TCPIP项目

一、 简介:

本文利用MHC一步步的轻松配置创建一个TCPIP的应用。

下面虽然使用Microchip的PIC32MZ EF Starter Kit作为演示,但是客户板子有可能和Microchip的板子有区别,所以下面的步骤里特地不勾选现有的BSP,通过MHC配置选择合适的接口等,这样的步骤也更适合用户在自己的定制板上的调试。

二、硬件工具和软件平台:

硬件: PIC32MZ EF Starter Kit

软件:
MPLAB-X::v3.26或者更新
XC32:v1.40或者更新
Harmony:v1.07.1或者更新

三、详细步骤:

首先我们都得对自己的硬件有一个充分的了解,在基于PIC32的MAC+PHY的网络调试中,我们必须知道:

Harmony之学习篇(十)-- 在图形开发项目中增加中文字体

1, 目的

在《MPLAB® Harmony Harmony 之学习篇(九)创建图形开发项目》中我们提到了在图形开发的过程中要用到各种不同的字体。通常情况下,英文等拉丁语系由于字符不多,是非常容易添加的,但是对于中文等字体的显示,由于字符非常多,必须考虑存储容量的限制。 本文通过建立一个工程,显示简单的中文字符,介绍如何对字库进行裁剪,选取自己想要的字符。

2, 了解字符的有关知识

A, 计算机中使用的字库是 Unicode 码
B,Unicode 码为所有字符分配了地址区间
0000:Basic Latin 基本拉丁语
0080:Latin-1 Supplement 拉丁语-1 补遗
0100:Latin Extended-A 拉丁语扩充-A
0180:Latin Extended-B 拉丁语扩充-B
0250:IPA Extensions 国际音标
02B0:Spacing Modifier Letters
0300:Combining Diacritical Marks 组合变音符
0370:Greek and Coptic 希腊语和埃及语

【资料下载】使用Harmony控制PIC32的USART

作者:Microchip应用工程师 胡雪峰

使用MPLAB Harmony 软件框架可以分别通过USART外设库、USART 静态驱动和USART 动态驱来控制PIC32单片机的USART。

USART外设库(PLIB)是一个易于访问的库,它提供了一个与UART外设之间的低层接口。 PLIB 隐藏了寄存器的详细信息,从而更容易使用PLIB编写驱动程序。USART外设库提供了USART外设初始化设置、波特率发生器设置、 USART 发送和 USART接收功能接口函数。

关于《使用Harmony控制PIC32的USART》系列更多详情,《使用Harmony控制PIC32的USART》阅读。

精彩专辑《MIPS处理器》阅读同主题信息。

网友 巧克力 问:SPI 发送问题求助

我用的是 PIC32MZ2048EFH144 芯片。用Harmony配置的,轮训,master模式。
我需要发送的buffer数量已经超过了最大的 Jobs in queue(我这里最大可以设置到30个)。

尝试了定时等待一段时间,轮训 DRV_SPI_BufferStatus ,直接调用DRV_SPI_Tasks(sysObj.spiObjectIdx0); 都不行,求助应该怎么做。

pic的SPI发送好像是在ISR里面执行,我要怎么找到这段执行的代码。如果我需要一个比较精确周期发送,又需要怎么做

同步内容
--电子创新网--
粤ICP备12070055号