Funpack5-1 - 基于FRDM-MCXA346的串口通信测试
该项目使用了FRDM-MCXA346,实现了串口通信的设计,它的主要功能为:主要通过串口发送字符串。
标签
串口通信
FRDM-MCXA346
Funpack5-1
永不止步
更新2026-03-04
13

一、项目介绍

本次的项目实践主要利用FRDM-MCXA346开发板开展,核心目标是基于该开发板的MCXA346控制的UART实现串口输出任务。在实际操作中,充分利用开发板所具备的UART接口这一关键硬件资源。通过编写相应的程序代码实现基本要求,通过UART接口向外部设备稳定输出特定的字符串"Hello, DigiKey Funpack 5-1"。

这一特定字符串的输出具有重要示范意义(活动的主题),通过具体的功能实现展示开发板所搭载的MCU的串口通信功能。通过这一简单的输出任务,开发者能够直观地看到数据通过串口在开发板与外部设备之间进行传输的过程,从而深入理解串口通信的基本原理。同时,该任务对于开发者而言,是一个极为宝贵的实践机会。它为开发者搭建了一个从理论到实践的桥梁,使开发者能够在实际操作中进一步熟悉和掌握FRDM-MCXA346开发板的特定功能——串口。在完成这一任务的过程中,开发者需要进行原型设计,构思如何利用开发板的资源实现目标(要想快速实现可以直接通过demo进行)。通过这样的实践锻炼,开发者能够提升自己在嵌入式系统开发方面的技能和经验,了解新的开发环境,为今后开展更复杂的项目奠定坚实的基础。

二、硬件介绍

FRDM-MCXA346是NXP提供的一款基于MCXA346的紧凑型开发板,具备灵活的扩展性和丰富的硬件接口,适合快速进行原型设计和开发。开发板集成了多个接口模块,使得硬件设计和外设连接更加简便。MCXA346具有强大处理能力的 MCU,支持多种通信协议,具备低功耗特点,适合各种嵌入式应用。开发板提供了丰富的外设接口,包括UART、SPI、I2C 等,方便用户根据不同应用需求进行扩展。板载MCU-Link调试器,支持直接调试MCU程序,支持虚拟串口,咱们本次测试就是用的调试器的虚拟串口和PC的串口调试助手进行通信。

三、开发板资源

我们回归到整个开发板的具体资源内容,本次实现的功能是依托板载的调试器的虚拟串口实现的,所以我们有必要了解一下板载的MCU与调试器的连接情况:


0

可以看到MCUlink的功能包括DAPlink调试功能和VCOM功能,实际连接的串口如下:


0

所以要使用MCUlink的VCOM实际需要控制的引脚是P2_2和P2_3.

四、开发环境

MCUXpresso IDE为开发人员带来一个易于使用的基于Eclipse的开发环境,适用于基于Arm® Cortex®-M内核的恩智浦® MCU,包括通用、跨界和无线MCU。MCUXpresso IDE提供高级编辑、编译和调试功能,增加了MCU专用的调试视图、代码跟踪和分析、多核调试和集成配置工具。咱们这一次的功能测试就是用官方提供的MCUXpresso IDE。

五、开发过程

我们创建一个空白工程,实际上里面也已经包含了一些基于板子的一些配置信息了:


0

创建后的代码直接就带有基本的串口控制,这就是基于板子开发的便利性:

int main(void) {
/* Init board hardware. */
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitBootPeripherals();

#ifndef BOARD_INIT_DEBUG_CONSOLE_PERIPHERAL
/* Init FSL debug console. */
BOARD_InitDebugConsole();
#endif
PRINTF("Hello World\r\n");

/* Force the counter to be placed into memory. */
volatile static int i = 0 ;
/* Enter an infinite loop, just incrementing a counter. */
while(1) {
i++ ;
/* 'Dummy' NOP to allow source level single stepping of
tight while() loop */
__asm volatile ("nop");
}
return 0 ;

}

大家可以看到上面的代码,对引脚、时钟、外设直接就完成的基本的配置,这得益于针对于板子的board.c已经把板子上板载的基本外设都已经配置好了,直接调用就行,我们看到后面直接通过串口进行了PRINTF,不过这里的字符串不是我们需要的内容,但是可以说现在就差一脚就完成基础任务了,我们只需要改一些打印的字符串内容就可以了,修改如下:

PRINTF("Hello, DigiKey Funpack 5-1");

我们将程序编译并下载到板子里,可以看到对应的串口助手收到对应的字符串:


0

我们在往回看一下,对于工程的基本逻辑就是对于模块的基本配置,然后就是到数据的发送关联,这里使用的是PRINTF打印功能,其关联的就是我们的目标串口。

六、心得体会

本次活动的任务相对来说是比较基础的,我们这次实现的功能主要也是调试中最常用的串口,通过本次的测试发现如果基于开发板开发,程序开发过程也是非常的便捷,对于官方的开发板,对基本外设都有基本控制函数,直接调用,我们可以学习其基本结构。

附件下载
MCXA346_Project.zip
团队介绍
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号