STM32-SPI

所属分类:单片机开发
开发工具:Others
文件大小:227KB
下载次数:650
上传日期:2008-12-30 18:54:12
上 传 者have1book
说明:  本例展示了如何实现2个SPI之间的在全双工(full-duplex)模式下通信,通过NSS软件管理,实现了由主向从,接着又从向主发送数据。 在本例程中,设置SPI1和SPI2为8bit数据帧,9Mbit/s传输速率。 在第一阶段,由主SPI1把SPI1_Buffer_Tx发送到SPI2,由从SPI2把SPI2_Buffer_Tx发送到SPI1。传输完成后,通过比较判断传输是否正确。 由于NSS管脚由软件管理,因此,可以在不改变硬件配置的情况下使SPI1由主变从,而SPI2由从变主。在第二阶段,由从SPI1把SPI1_Buffer_Tx发送到SPI2,由主SPI2把SPI2_Buffer_Tx发送到SPI1。传输完成后,通过比较判断传输是否正确。 在STM3210B-LK1上,如果以上4个传输都正确,则亮起LED1(LD4),否则亮起LED2(LD3)。
(err)

文件列表:
Example1\stm32f10x_it.c (22691, 2007-10-08)
Example1\stm32f10x_it.h (3267, 2007-10-08)
Example1\stm32f10x_exti.h (5722, 2007-10-08)
Example1\stm32f10x_flash.h (10336, 2007-10-08)
Example1\stm32f10x_gpio.h (12416, 2007-10-08)
Example1\stm32f10x_i2c.h (15535, 2007-10-08)
Example1\stm32f10x_iwdg.h (3388, 2007-10-08)
Example1\stm32f10x_lib.h (2934, 2007-10-08)
Example1\stm32f10x_map.h (20143, 2007-10-08)
Example1\stm32f10x_nvic.h (16252, 2007-10-08)
Example1\stm32f10x_pwr.h (3829, 2007-10-08)
Example1\stm32f10x_rcc.h (13710, 2007-10-08)
Example1\stm32f10x_rtc.h (3591, 2007-10-08)
Example1\stm32f10x_spi.h (9290, 2007-10-08)
Example1\stm32f10x_systick.h (3169, 2007-10-08)
Example1\stm32f10x_tim.h (29007, 2007-10-08)
Example1\stm32f10x_tim1.h (34659, 2007-10-08)
Example1\stm32f10x_type.h (3383, 2007-10-08)
Example1\stm32f10x_usart.h (11700, 2007-10-08)
Example1\stm32f10x_wwdg.h (2604, 2007-10-08)
Example1\cortexm3_macro.h (2167, 2007-10-08)
Example1\stm32f10x_adc.h (16275, 2007-10-08)
Example1\stm32f10x_bkp.h (4081, 2007-10-08)
Example1\stm32f10x_can.h (12173, 2007-10-08)
Example1\stm32f10x_dma.h (12405, 2007-10-08)
Example1\stm32f10x_exti.c (8594, 2007-10-08)
Example1\stm32f10x_flash.c (32375, 2007-10-08)
Example1\stm32f10x_i2c.c (45432, 2007-10-08)
Example1\stm32f10x_iwdg.c (6413, 2007-10-08)
Example1\stm32f10x_lib.c (6774, 2007-10-08)
Example1\stm32f10x_nvic.c (28684, 2007-10-08)
Example1\stm32f10x_pwr.c (11196, 2007-10-08)
Example1\stm32f10x_rcc.c (43103, 2007-10-08)
Example1\stm32f10x_rtc.c (12241, 2007-10-08)
Example1\stm32f10x_systick.c (7100, 2007-10-08)
Example1\stm32f10x_tim.c (99697, 2007-10-08)
Example1\stm32f10x_tim1.c (114191, 2007-10-08)
Example1\stm32f10x_usart.c (33553, 2007-10-08)
Example1\stm32f10x_wwdg.c (7714, 2007-10-08)
... ...

/******************** (C) COPYRIGHT 2007 STMicroelectronics ******************** * File Name : readme.txt * Author : MCD Application Team * Version : V1.0 * Date : 10/08/2007 * Description : Description of the SPI Example1. ******************************************************************************** * THE PRESENT SOFTWARE 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, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. *******************************************************************************/ 本例展示了如何实现2个SPI之间的在全双工(full-duplex)模式下通信,通过NSS软件管理,实现了由主向从,接着又从向主发送数据。 在本例程中,设置SPI1和SPI2为8bit数据帧,9Mbit/s传输速率。 在第一阶段,由主SPI1把SPI1_Buffer_Tx发送到SPI2,由从SPI2把SPI2_Buffer_Tx发送到SPI1。传输完成后,通过比较判断传输是否正确。 由于NSS管脚由软件管理,因此,可以在不改变硬件配置的情况下使SPI1由主变从,而SPI2由从变主。在第二阶段,由从SPI1把SPI1_Buffer_Tx发送到SPI2,由主SPI2把SPI2_Buffer_Tx发送到SPI1。传输完成后,通过比较判断传输是否正确。 在STM3210B-LK1上,如果以上4个传输都正确,则亮起LED1(LD4),否则亮起LED2(LD3)。 Example description =================== This example provides a description of how to set a communication between the two SPIs in full-duplex mode and performs a transfer from Master to Slave and then Slave to Master in the same application with software NSS management. Both SPIs are configured with 8bit data frame and a 9Mbit/s communication speed. In the first phase, the master SPI1 starts the SPI1_Buffer_Tx transfer while the slave SPI2 transmit SPI2_Buffer_Tx. Once the transfer is completed a comparison is done and TransferStatus1 and TransferStatus2 gives the data transfer status for each data transfer direction where it is PASSED if transmitted and received data are the same otherwise it is FAILED. As the NSS pin is managed by software, this permit to SPI1 to become slave and SPI2 to become master whithout hardware modification In the second step, the slave SPI1 starts the SPI1_Buffer_Tx transfer while the master SPI2 transmit SPI2_Buffer_Tx. Once the transfer is completed a comparison is done and TransferStatus3 and TransferStatus4 gives the data transfer status for each data transfer direction where it is PASSED if transmitted and received data are the same otherwise it is FAILED. Directory contents ================== stm32f10x_conf.h Library Configuration file stm32f10x_it.c Interrupt handlers stm32f10x_it.h Interrupt handlers header file main.c Main program Hardware environment ==================== - Connect SPI1 SCK pin (PA.05) to SPI2 SCK pin (PB.13) - Connect SPI1 MISO pin (PA.06) to SPI2 MISO pin (PB.14) - Connect SPI1 MOSI pin (PA.07) to SPI2 MOSI pin (PB.15) How to use it ============= In order to make the program work, you must do the following : - Create a project and setup all your toolchain's start-up files - Compile the directory content files and required Library files : + stm32f10x_lib.c + stm32f10x_spi.c + stm32f10x_rcc.c + stm32f10x_gpio.c + stm32f10x_nvic.c + stm32f10x_flash.c - Link all compiled files and load your image into either RAM or FLASH - Run the example ******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE******

近期下载者

相关文件


收藏者