【ZigBee JN5189】底层驱动之 UART1 调试输出

       最近学习 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

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论