NXP

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

2019-07-12 11:31发布

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-ControlBridgeSourceCommonuart.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);