Zigbee-NXP-JN5169-JN-AN-1216-节点合集

JN-AN-1216是NXP提供的关于网关的工程:
文件夹全名:JN-AN-1216-Zigbee-3-0-IoT-ControlBridge

之前的版本的暂时过去就过去了,目前版本(2019.01.01)的版本是:JN-AN-1216-Zigbee-3-0-IoT-ControlBridge-V1011

点1、默认是uart0作为和上位机ZGWUI的数据通信口,现在修改uart1为数据口
为什么修改,因为把板子上把uart1接到了主单片机(处理网络数据的MCU)的串口上了,接uart0的话就不用改了。
修改起来很简单:
1、打开 …\JN-AN-1216-Zigbee-3-0-IoT-ControlBridge\Source\Common\uart.c
1.1、

/* default to uart 0 */
#ifndef UART
#define UART E_AHI_UART_1	/* 默认是串口0,修改为串口1就好了 */
#endif

1.2、不知道为什么这里使用的是E_AHI_UART_0,不是UART,修改一下。

PUBLIC void UART_vTxChar(uint8 u8Char)
{
    while ( !UART_bTxReady () && !( u8AHI_UartReadLineStatus ( E_AHI_UART_0 ) & E_AHI_UART_LS_TEMT ) );
    vAHI_UartWriteData(UART, u8Char);
    while ( !UART_bTxReady() && !( u8AHI_UartReadLineStatus ( E_AHI_UART_0 ) & E_AHI_UART_LS_TEMT ) );
}
改
PUBLIC void UART_vTxChar(uint8 u8Char)
{
    while ( !UART_bTxReady () && !( u8AHI_UartReadLineStatus ( UART ) & E_AHI_UART_LS_TEMT ) );
    vAHI_UartWriteData(UART, u8Char);
    while ( !UART_bTxReady() && !( u8AHI_UartReadLineStatus ( UART ) & E_AHI_UART_LS_TEMT ) );
}

1.3、改为uart1后中断起不来(没调起来)将

void APP_isrUart ( void )

函数放到app.start.c -> APP_vMainLoop() -> while(1)主循环里面的去轮询吧。

1.4、修改波特率:
选中JN-AN-1216-Zigbee-3-0-IoT-ControlBridge工程 -> 右键Properties -> c/c++ Build ->Builder Settings:
在 Use default build command 下将波特率BAUD修改为自己想修改的波特率就好了。

点2、调试口默认uart1,使能调试uart1 或 修改为uart0

使能调试uart1:

1.1、选中JN-AN-1216-Zigbee-3-0-IoT-ControlBridge工程 -> 右键Properties -> c/c++ Build ->Builder Settings:
在 Use default build command 下将添加DEBUG=UART1就好了 (如果DEBUG=UART0就是使能UART0,前提是先配好UART0)。

1.2、找到入口函数 app.start.c -> vAppMain(void) ->

DBG_vUartInit ( DEBUG_UART, DBG_E_UART_BAUD_RATE_115200 );

这里修改波特率。

打开 Makefile 文件:里面已经默认有uart1的配置了,添加或去掉 # 就是禁止使能相应的调试数据输出:

ifeq ($(DEBUG), UART1)
CFLAGS  += -DDBG_ENABLE
$(info Building with debug UART1...)
CFLAGS  += -DUART_DEBUGGING
CFLAGS  += -DDEBUG_UART=DBG_E_UART_1
#CFLAGS  += -DDEBUG_APP_OTA
#CFLAGS  += -DDEBUG_ZCL
CFLAGS	+= -DDEBUG_NWK_RECOVERY
#CFLAGS	+= -DDEBUG_PDM_EXTENDED
CFLAGS	+= -DDEBUG_ZB_CONTROLBRIDGE_TASK
CFLAGS  += -DTRACE_APP
#CFLAGS  += -DDEBUG_PDM_EXTENDED
CFLAGS += -DDEBUG_SERIAL_LINK

CFLAGS += -DDEBUG_APP_GP
CFLAGS += -DTRACE_GP_DEBUG

endif

修改为uart0

打开 Makefile 文件里增加一个uart0的配置就好了

ifeq ($(DEBUG), UART0)
CFLAGS  += -DDBG_ENABLE
$(info Building with debug UART0...)
CFLAGS  += -DUART_DEBUGGING
CFLAGS  += -DDEBUG_UART=DBG_E_UART_0
#CFLAGS  += -DDEBUG_APP_OTA
CFLAGS  += -DDEBUG_ZCL
CFLAGS	+= -DDEBUG_NWK_RECOVERY
#CFLAGS	+= -DDEBUG_PDM_EXTENDED
CFLAGS	+= -DDEBUG_ZB_CONTROLBRIDGE_TASK
CFLAGS  += -DTRACE_APP
#CFLAGS  += -DDEBUG_PDM_EXTENDED
CFLAGS += -DDEBUG_SERIAL_LINK

CFLAGS += -DDEBUG_APP_GP
CFLAGS += -DTRACE_GP_DEBUG

endif

回到上面那一步将DEBUG=UART0,其他都一样的。

可以将UART0的流控关掉或开起来
开:vAHI_UartSetRTSCTS(E_AHI_UART_0, TRUE);
关:vAHI_UartSetRTSCTS(E_AHI_UART_0, FALSE);

你可能感兴趣的:(Zigbee,JN5169,NXP)