/**
  @page SPIS1_Slave_Interrupt SPIS1_Slave_Interrupt example
  
  @verbatim
  *************** (C) COPYRIGHT 2020 - 2023 megawin Technology ***************
  * @file    SPI/SPIS1_Slave_Interrupt/readme.txt 
  * @author  megawin Application Team
  * @version V0.1.10
  * @date    05-January-2023
  * @brief   Description of the SPI SPIS1_Slave_Interrupt example.
  ******************************************************************************
  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  * TIME. AS A RESULT, MEGAWIN SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
  * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM
  * THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  ******************************************************************************
   @endverbatim

@par 例程描述 

本例程与QSPI_Master_Interrupt例程演示如何以中断的方式完成SPI主机和SPI从机之间的通信。

本例程系统时钟工作在72Mhz，通过PLL配置产生。PLL时钟源是外部12Mhz晶振。APB1的分频比是1，APB2的分频比是1。

- 硬件描述

要使用此例程，您需要两块MG32开发板（让我们称之为开发板A和开发板B），然后连接两块开发板的SPI接口和GND。 \n
另外需要将两个开发板的UART1连接到PC，以实现与开发板的交互。 \n
开发板A需加载QSPI_Master_Interrupt程序，开发板B需加载SPIS1_Slave_Interrupt程序。

@verbatim
*------------------------------------------------------------------------------*
|                BoardA                                 BoardB                 |
|         ____________________                   ____________________          |
|        |                    |                 |                    |         |
|        |     __________     |                 |     __________     |         |
|        |    |          |____|_______NSS_______|____|          |    |         |
|        |    |SPI Master|____|_______SCK_______|____|SPI Slave |    |         |
|        |    |  Device  |____|_______MOSI______|____|  Device  |    |         |
|        |    |__________|____|_______MISO______|____|__________|    |         |
|        |                    |                 |                    |         |
|        |                    |                 |                    |         |
|        |             GND O--|-----------------|--O GND             |         |
|        |                    |                 |                    |         |
|        |                    |                 |                    |         |
|        | UART1              |                 |              UART1 |         |
|        |____________________|                 |____________________|         |
|                                                                              |
*------------------------------------------------------------------------------*
@endverbatim

- 软件描述

在QSPI_Master_Interrupt程序中，QSPI外设被配置为SPI主机，使用中断发送和接收数据。 \n
在SPIS1_Slave_Interrupt程序中，SPIS1外设被配置为SPI从机，使用中断发送和接收数据。

当两个开发板上电运行后，都会通过串口打印相关信息，等待串口输入才会继续运行。 \n
首先，向开发板B（SPI从机）的串口输入任意字符，令开发板B继续运行。 \n
然后，再向开发板A（SPI主机）的串口输入任意字符，令开发板A开始发起传输。 \n
当传输完成后，开发板A和开发板B都会打印出它们各自接收到的数据。


@par 目录内容 

  - SPI/SPIS1_Slave_Interrupt/SPIS1_Slave_Interrupt.uvprojx   MDK5工程文件
  - SPI/SPIS1_Slave_Interrupt/SPIS1_Slave_Interrupt.uvoptx    MDK5工程配置文件
  - SPI/SPIS1_Slave_Interrupt/JLinkSettings.ini               Jlink配置文件
  - SPI/SPIS1_Slave_Interrupt/main.c                          主程序


@par 硬件和软件环境 

  - 硬件平台搭建
    - HSE 连接外部12MHz晶振
    - 需要两块开发板
    - 两块开发板都需要将其各自的UART1连接到PC
    - 两块开发板之间的连接如下：
      - 开发板A的 PA4 (QSPI_NSS0) 管脚连接到 开发板B的 PA4 (SPIS1_NSS)
      - 开发板A的 PA5 (QSPI_SCK) 管脚连接到 开发板B的 PA5 (SPIS1_SCK)
      - 开发板A的 PA6 (QSPI_MI_IO1) 管脚连接到 开发板B的 PA6 (SPIS1_SO)
      - 开发板A的 PA7 (QSPI_MO_IO0) 管脚连接到 开发板B的 PA7 (SPIS1_SI)


@par 如何使用？ 

为了使程序工作，您必须执行以下操作 :
 - 使用 MDK5 打开此例程文件夹中的 SPIS1_Slave_Interrupt.uvprojx 工程
 - 重新编译该工程并下载到目标存储器中
 - 运行此例程
   
 * <h3><center>&copy; COPYRIGHT 2020 - 2023 megawin Technology</center></h3>
 */
