项目介绍
本项目主要利用恩智浦(NXP)的FRDM-MCXA346开发板,通过其板载调试器的虚拟串口功能,实现UART串口输出“Hello, DigiKey Funpack 5-1”的基础任务。FRDM-MCXA346开发板基于高性能的MCX A346 Arm® Cortex®-M33内核,具备丰富的外设接口和强大的处理能力,是电机控制、工业自动化及IoT边缘计算等领域的理想选择。
硬件介绍
开发板概述
FRDM-MCXA346开发板是一款紧凑且可扩展的开发平台,专为快速原型设计而优化。它搭载了MCX A346 MCU,该MCU基于运行频率高达180MHz的Arm® Cortex®-M33内核,提供高达1MB的闪存和256KB的RAM,支持多种通信接口和外设,包括UART、SPI、I2C、CAN等。开发板还集成了板载MCU-Link调试器,支持虚拟串口(VCOM)功能,极大地方便了调试和通信。
关键特性
MCU型号:MCX A346
内核:Arm® Cortex®-M33,运行频率高达180MHz
内存:高达1MB闪存,256KB RAM(含8KB ECC)
通信接口:支持UART、SPI、I2C、CAN等多种接口
调试器:板载MCU-Link调试器,支持CMSIS-DAP和虚拟串口
扩展接口:Arduino、Pmod、mikroBUS等兼容接口
设计思路
本次项目的设计思路主要围绕如何通过FRDM-MCXA346开发板的UART接口,利用板载调试器的虚拟串口功能,实现字符串的输出。具体步骤包括:
环境搭建:安装必要的开发工具和SDK。
硬件连接:通过USB Type-C线缆将开发板连接到PC。
软件开发:在MCUXpresso IDE中创建项目,配置UART外设,并编写代码实现字符串输出。
调试与验证:通过串口终端查看输出结果,验证功能实现。
软件流程图及功能实现说明
流程图
初始化硬件:包括时钟、GPIO、UART等外设的初始化。
配置UART:设置UART的波特率、数据位、停止位等参数。
发送数据:通过UART循环发送字符串“Hello, DigiKey Funpack 5-1”。
功能实现说明及代码
1、 初始化硬件
首先,需要在MCUXpresso IDE中创建一个新项目,并选择FRDM-MCXA346作为目标板卡。
然后我们看一下虚拟串口连接的实际串口:
然后,使用MCUXpresso Config Tools配置时钟和引脚,确保UART外设正常工作,添加LPUART外设:
2、 配置UART
在项目中导入UART的驱动程序,并配置UART参数。以下是一个简单的UART配置示例:
转化后在工程中会自动生成对应的串口初始化程序:
static void LPUART2_init(void) {
/* Initialize CMSIS USART /LPUART2_PERIPHERAL.Initialize(LPUART2_SignalEvent);/ Power control of CMSIS USART /LPUART2_PERIPHERAL.PowerControl(ARM_POWER_FULL);/ Control of CMSIS USART /LPUART2_PERIPHERAL.Control(ARM_USART_MODE_ASYNCHRONOUS | ARM_USART_DATA_BITS_8 | ARM_USART_PARITY_NONE | ARM_USART_STOP_BITS_1, 115200);/ Enable or disable receiver. /LPUART2_PERIPHERAL.Control(ARM_USART_CONTROL_RX , 0);/ Enable or disable transmitter. */
LPUART2_PERIPHERAL.Control(ARM_USART_CONTROL_TX , 0);
}
3、 发送数据
在UART初始化完成后,编写发送数据的函数:
int main(void)
{
char ch;
/* Init board hardware. */
BOARD_InitHardware();
while (1)
{
LPUART_WriteBlocking(LPUART2, txbuff, sizeof(txbuff) - 1);
delay();
}
}
调试与验证
使用USB Type-C线缆将FRDM-MCXA346开发板连接到PC。
打开串口终端:在MCUXpresso IDE中,新建一个串口终端(Serial Terminal),配置为115200波特率,8位数据位,无校验位,1位停止位。
运行程序:编译并下载程序到开发板,运行后观察串口终端输出。
串口终端显示“Hello, DigiKey Funpack 5-1”:
难点
我们在使用配置文件完成对应的配置后,实际上是对这些文件的修改:
如果是首次继续进行的修改,在工程的主文件中实际上是没有这些头文件的引用的,我们需要手动添加,这个实际上是有点不方便的,也很容易注意不到这个小细节。配置工具的使用往往有时候会太杂乱。
心得体会
通过本次项目实践,我深刻体会到了FRDM-MCXA346开发板的强大功能和易用性。特别是板载MCU-Link调试器的虚拟串口功能,极大地简化了调试过程,提高了开发效率。同时,MCUXpresso IDE和SDK的集成开发环境也为项目开发提供了极大的便利。