|
MG32F10x Standard Peripherals Firmware Library
|
*************** (C) COPYRIGHT 2020 - 2023 megawin Technology *************** * @file SPI/QSPI_Master_Interrupt/readme.txt * @author megawin Application Team * @version V0.1.10 * @date 05-January-2023 * @brief Description of the SPI QSPI_Master_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. ******************************************************************************
本例程与SPIS1_Slave_Interrupt例程演示如何以中断的方式完成SPI主机和SPI从机之间的通信。
本例程系统时钟工作在96Mhz,通过PLL配置产生。PLL时钟源是外部8Mhz晶振。APB1的分频比是1,APB2的分频比是1。
要使用此例程,您需要两块MG32开发板(让我们称之为开发板A和开发板B),然后连接两块开发板的SPI接口和GND。
另外需要将两个开发板的UART1连接到PC,以实现与开发板的交互。
开发板A需加载QSPI_Master_Interrupt程序,开发板B需加载SPIS1_Slave_Interrupt程序。
*------------------------------------------------------------------------------* | BoardA BoardB | | ____________________ ____________________ | | | | | | | | | __________ | | __________ | | | | | |____|_______NSS_______|____| | | | | | |SPI Master|____|_______SCK_______|____|SPI Slave | | | | | | Device |____|_______MOSI______|____| Device | | | | | |__________|____|_______MISO______|____|__________| | | | | | | | | | | | | | | | | GND O--|-----------------|--O GND | | | | | | | | | | | | | | | | UART1 | | UART1 | | | |____________________| |____________________| | | | *------------------------------------------------------------------------------*
在QSPI_Master_Interrupt程序中,QSPI外设被配置为SPI主机,使用中断发送和接收数据,通信速率被配置为 1 Mbit/s。
在SPIS1_Slave_Interrupt程序中,SPIS1外设被配置为SPI从机,使用中断发送和接收数据。
当两个开发板上电运行后,都会通过串口打印相关信息,等待串口输入才会继续运行。
首先,向开发板B(SPI从机)的串口输入任意字符,令开发板B继续运行。
然后,再向开发板A(SPI主机)的串口输入任意字符,令开发板A开始发起传输。
当传输完成后,开发板A和开发板B都会打印出它们各自接收到的数据。
为了使程序工作,您必须执行以下操作 :
运行此例程