1、功能说明

    该测例演示了如何使用USART多处理器模式。USARTy和USARTz可以是USART1
和USART2、USART3和UART4或UART6和UART7。
    首先，分别设置USARTy和USARTz的地址为0x1和0x2。USARTy连续给USARTz
发送字符0x33。USARTz收到0x33，便翻转D1、D10和D11的引脚。
    一旦KEY1_INT_EXTI_LINE线检测到上升沿，则产生EXTI0中断，在
EXTI0_IRQHandler中断处理函数中(the ControlFlag = 0)，USARTz进入静默
模式，在静默模式中，LED引脚停止翻转，直到KEY1_INT_EXTI_LINE线检测到
上升沿(the ControlFlag = 1)。在EXTI0_IRQHandler中断处理函数中，USARTy
发送地址0x102唤醒USARTz。LED引脚重新启动翻转。


2、使用环境

    软件开发环境：KEIL MDK-ARM Professional Version 5.26.2.0

        硬件环境：N32WB45xL_EVB


3、使用说明
    
    系统时钟配置如下：
    - 时钟源 = HSE + PLL
    - 系统时钟 = 144MHz
    
    USARTy配置如下：
    - 波特率 = 115200 baud
    - 字长 = 9数据位
    - 1停止位
    - 校验控制禁用
    - 硬件流控制禁用（RTS和CTS信号）
    - 接收器和发送器使能  
    
    
    USART引脚连接如下：    
    - USART1_Tx.PA9    <------->   USART2_Rx.PA3
    - USART1_Rx.PA10   <------->   USART2_Tx.PA2 
    或
    - USART3_Tx.PB10   <------->   UART4_Rx.PC11
    - USART3_Rx.PB11   <------->   UART4_Tx.PC10
    或
    - UART6_Tx.PE2    <------->   UART7_Rx.PC5
    - UART6_Rx.PE3    <------->   UART7_Tx.PC4   
    
    KEY1_INT_EXTI_LINE.PA0    <------->   WAKEUP_KEY
    
    D1     <------->   PD0
    D10    <------->   PD1
    D11    <------->   PE2

    
    测试步骤与现象：
    - Demo在KEIL环境下编译后，下载至MCU
    - 复位运行，观察D1~11是否处于闪烁状态
    - 按按键KEY，观察D1~11是否停止闪烁
    - 再次按按键KEY，观察D1~11是否恢复闪烁


4、注意事项
    使用PA9，PA10需要把开发板NS-LINK的MCU_TX和MCU_RX跳线帽断开
    
1. Function description

    This test example demonstrates how to use the USART multi-processor mode. USARTy and USARTz can be USART1
And USART2, USART3 and UART4 or UART6 and UART7.
    First, set the addresses of USARTy and USARTz to 0x1 and 0x2 respectively. USARTy continues to USARTz
Send character 0x33. USARTz receives 0x33 and flips the pins of D1, D10 and D11.
    Once the KEY1_INT_EXTI_LINE line detects a rising edge, an EXTI0 interrupt will be generated.
In the EXTI0_IRQHandler interrupt processing function (the ControlFlag = 0), USARTz enters silence
Mode, in silent mode, the LED pin stops toggling until the KEY1_INT_EXTI_LINE line is detected
Rising edge (the ControlFlag = 1). In the EXTI0_IRQHandler interrupt handler function, USARTy
Send address 0x102 to wake up USARTz. The LED pin restarts toggling.


2. Use environment

    Software development environment: KEIL MDK-ARM Professional Version 5.26.2.0

    Hardware environment: N32WB45xL_EVB


3. Instructions for use
    
    The system clock configuration is as follows:
    -Clock source = HSE + PLL
    -System clock = 144MHz
    
    The USARTy configuration is as follows:
    -Baud rate = 115200 baud
    -Word length = 9 data bits
    -1 stop bit
    -Parity control disabled
    -Hardware flow control disabled (RTS and CTS signals)
    -Receiver and transmitter enable
    
    
    The USART pin connections are as follows:
    -USART1_Tx.PA9 <-------> USART2_Rx.PA3
    -USART1_Rx.PA10 <-------> USART2_Tx.PA2
    or
    -USART3_Tx.PB10 <-------> UART4_Rx.PC11
    -USART3_Rx.PB11 <-------> UART4_Tx.PC10
    or
    -UART6_Tx.PE2 <-------> UART7_Rx.PC5
    -UART6_Rx.PE3 <-------> UART7_Tx.PC4
    
    KEY1_INT_EXTI_LINE.PA0 <-------> WAKEUP_KEY
    
    D1     <------->   PD0
    D10    <------->   PD1
    D11    <------->   PE2

    
    Test steps and phenomena:
    -After the Demo is compiled in the KEIL environment, download it to the MCU
    -Reset operation, observe whether D1~11 are blinking
    -Press the KEY button and observe whether D1~11 stop flashing
    -Press the KEY button again and observe whether D1~11 resume flashing


4. Matters needing attention
    To use PA9/PA10, disconnect the jumper cap of MCU_TX/MCU_RX on NS-LINK