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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章