打印
[PIC32/SAM]

【ATSAMD51EVK测评报告】-2- MPLAB Harmony V3实现串口回显

[复制链接]
4833|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
上期开箱文章: 【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等,还没有来得及体验。








使用特权

评论回复
沙发
pl202| | 2023-1-5 11:24 | 只看该作者
这个开发的难度大吗?              

使用特权

评论回复
板凳
mollylawrence| | 2023-1-5 13:27 | 只看该作者
有没有想过的资料可以提供 学习一下。

使用特权

评论回复
地板
updownq| | 2023-1-6 12:20 | 只看该作者
这个需要把tx和rx对接的吗?              

使用特权

评论回复
5
timfordlare| | 2023-1-6 15:24 | 只看该作者
Harmony是什么?              

使用特权

评论回复
6
sanfuzi| | 2023-1-6 16:43 | 只看该作者
Harmony框架第一次使用的。

使用特权

评论回复
7
abotomson| | 2023-1-7 11:13 | 只看该作者
串口回显是怎么实现的、              

使用特权

评论回复
8
linfelix| | 2023-1-12 14:34 | 只看该作者
串口回显是什么意思呢?              

使用特权

评论回复
9
uytyu| | 2023-1-12 16:14 | 只看该作者
MPLAB的优化效果怎么样              

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

257

帖子

2

粉丝