最近学习 NXP JN5189 ZigBee 的时候,发现 NXP 官网 AN 输出信息是 Debug 信息、通讯信息混合到 UART0。如何将二者分离即:UART1 打印 Debug 信息,UART0 与主控通讯。下面详细道来,以供大学相互学习。
一、UART 描述、管脚分配
JN-5189 SoC 支持两个 UART 串口。在 NXP 提供的 AN 参考设计中,默认使用 UART0 串口。例程 JN-AN-1247 ZigbeeNodeControlBridge 应用中,UART0 已经用于 SerialLink 串口通信协议。为了方便调试代码,我们可以使能 UART1 作为调试打印输出串口。
UART0 基地址 0x4008_B000、UART1 基地址 0x4008_C000 及对应管脚分配
二、软件修改步骤如下:
以 NXP 官网协调器代码 JN-AN-1247 为例:
1、从网站下载 https://www.nxp.com/webapp/sps/download/preDownload.jsp 参考设计。增加UART1 的初始化函数。在 JN-AN-1247\Source\board\hardware_init.c 文件中增加函数 UART1_InitDebugConsole(...),设置 UART1 管脚映射和时钟配置。
2、修改工程的编译 Makefile 文件。注释 JENNIC_DEBUG_ENABLE 宏开关, 并增加文件 fsl_debug_console.c 到项目工程的Makefile 中。
3、修改 SerialLink Log 相关的代码。在 AN-1247\Source\ZigbeeNodeControlBridge\app_start.c 文件中注销 vSL_LogInit 函数。
4、编译烧写新的代码到 JN-5189 开发板。外接串口接收 Rx 脚到 JN-5189 的 PIO0_10 脚,在串口终端可以接收 JN-5189 通过 DBG_vPrintf 或者 vLog_Printf 函数的调试打印输出。注意使用 vLog_Printf 时候防止有乱码出现,更改如下:
三、参考资料
JN-AN-1247 JN-AN-1247-Zigbee-3-0-ControlBridge
参考网址:
https://www.nxp.com/webapp/sps/download/preDownload.jsp
评论