上期开箱文章: 【ATSAMD51EVK测评报告】-1- 开箱和环境搭建
笔者继续介绍如何安装 MPLAB® Harmony v3 软件开发框架,并一步步的创建一个UART的小例子,主要的参考文章有:
- 如何安装 MPLAB® Harmony v3 软件开发框架
- MPLAB® Code Configurator Overview with MPLAB Harmony Content
1. 打开最新的MPLAB X IDE,在Project区域空白处,右键,然后选择”New Project“来创建新项目。
2. 选择”Microchip Embedded“ -> "32-bit MCC Harmony Project",之后点击下一步:
3. 这里会检测Harmony框架的安装位置,如果您跟我一样是第一次使用Harmony框架,那么红色的提示” Harmony framework location is not valid“只需要我们指定一个文件夹路径,后续会工Git上下载到这个目录里。
4. 输入一个路径,比如下面的文件夹当前为空文件夹。
5. 指定项目存储位置和项目名称。
6. 选择器件型号,这里我选择”ATSAMD51P20A“
7. MCC 会自动打开,下面3个提到的组件是必须的,详细参考:https://microchipdeveloper.com/harmony3:new-proj-with-mcc
8. 配置用户LED相关的GPIO引脚, PC18
9. 设置UART相关引脚
10. 生成代码,点击Generate。
Question:我这里遇到的一个问题是,提示没有找到XC32编译器。我之前使用的都是PIC8系列单片机,自己也安装了XC32编译器,不过MPLAB X IDE并未识别。
Solve:
串口输出结果:可以看到串口已经调试通了。
接下来修改主程序来实现经典的串口回显,参考代码如下:
int main ( void )
{
uint16_t rxCounter=0;
/* Initialize all modules */
SYS_Initialize ( NULL );
printf("\r\nHello ATSAMD51 EVK\r\n");
/* Send start message */
SERCOM2_USART_Write(&messageStart[0], sizeof(messageStart));
while ( true )
{
/* Check if there is a received character */
if(SERCOM2_USART_ReceiverIsReady() == true)
{
if(SERCOM2_USART_ErrorGet() == USART_ERROR_NONE)
{
SERCOM2_USART_Read(&data, 1);
SERCOM2_USART_Write(&data,1);
}
else
{
SERCOM2_USART_Write(&errorMessage[0],sizeof(errorMessage));
}
}
}
}
实现效果:
总结:
MPLABX 内嵌的MCC可以支持Harmony框架的使用,非常的方便使用,Harmony框架非常强大,还看到支持的组件有TCPIP. AUDIO等,还没有来得及体验。
|