logo资料库

JN5169 如何使用 UART1 作为上位机控制串口.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
如何使用 UART1 作为上位机控制串口 ( Pual Lin ) NXP 提供的 Coordinator 例程中都是以 UART0 作为串口接收,即上位机 GUI 软 件通过 UART0 来对 Dongle 进行命令控制。如果我们想使用 UART1 来作为串口接收, 就需要在程序中做出如下改动,下面以 JN-AN-1216-Zigbee-3-0-IoT-ControlBridge 例 程为例。 1、 编辑文档 irq_JN516x.S, PIC_ChannelPriorities: .byte 0 # pwm1 priority .byte 0 # pwm2 priority .byte 0 # system controller priority .byte 7 # MAC priority .byte 0 # AES priority .byte 0 # PHY priority .byte 5 # uart0 priority .byte 5 # uart1 priority .byte 0 # timer0 priority .byte 0 # spi slave priority .byte 0 # i2c maste/slave priority .byte 0 # spi master priority .byte 0 # pwm4 priority .byte 0 # analog peripherals priority .byte 0 # pwm3 priority .byte 15 # tick timer priority 2、 编辑文档 Makefile, 添加 CFLAGS += -DUART=1 3、 编辑 uart.c, PUBLIC void UART_vInit(void) { ……………………… #if (UART == E_AHI_UART_0) vAHI_UartSetRTSCTS(UART, TRUE); #endif ……………………… }
PUBLIC void UART_vRtsStopFlow(void) { #if (UART == E_AHI_UART_0) vAHI_UartSetControl(UART, FALSE, FALSE, E_AHI_UART_WORD_LEN_8, TRUE, E_AHI_UART_RTS_HIGH); #endif } PUBLIC void UART_vRtsStartFlow(void) { #if (UART == E_AHI_UART_0) vAHI_UartSetControl(UART, FALSE, FALSE, E_AHI_UART_WORD_LEN_8, TRUE, E_AHI_UART_RTS_LOW); #endif } 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 ) ); }
分享到:
收藏