资 源 简 介
应用背景SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola 首先在其 MC68HCXX 系列处理器上定义的。SPI 接口主要应用在 EEPROM,FLASH,实时时 钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工, 同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局 上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信 协议,STM32 也有 SPI 接口。关键技术
SPI信号线:SPI 接口一般使用 4 条线通信: MISO 主设备数据输入,从设备数据输出。 MOSI 主设备数据输出,从设备数据输入。 SCLK 时钟信号,由主设备产生。 CS 从设备片选信号,由主设备控制。
SPI模式:根据SPI时钟极性和时钟相位配置的不同分为4种SPI模式。如果 CPOL=0,串行同步时钟的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电 平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果 CPHA=1,在串 行同步时钟的第二个跳变沿(上升或下降)数据被采样。
SPI架构分析:通过STM32的架构图,可以看到MISO数据线接收到的信号经移位寄存器处理后把数据转移到接收缓冲区,然后这个数据就可以由我们的软件从接收缓冲区读出了。
文 件 列 表
CMSIS
core_cm3.c
core_cm3.h
startup
stm32f10x.h
system_stm32f10x.c
system_stm32f10x.h
FWlib
inc
src
Listing
startup_stm32f10x_hd.lst
STM32-DEMO.map
Output
core_cm3.crf
core_cm3.d
core_cm3.o
ExtDll.iex
flash.crf
flash.d
flash.o
led.crf
led.d
led.__i
main.crf
main.d
main.o
spi.crf
spi.d
spi.o
spi_flash.crf
spi_flash.d
spi_flash.o
startup_stm32f10x_hd.d
startup_stm32f10x_hd.o
STM32-DEMO.axf
STM32-DEMO.build_log.htm
STM32-DEMO.htm
STM32-DEMO.lnp
STM32-DEMO.plg
STM32-DEMO.sct
STM32-DEMO.tra
STM32-DEMO_SPI-DEMO.dep
stm32f10x_gpio.crf
stm32f10x_gpio.d
stm32f10x_gpio.o
stm32f10x_it.crf
stm32f10x_it.d
stm32f10x_it.o
stm32f10x_rcc.crf
stm32f10x_rcc.d
stm32f10x_rcc.o
stm32f10x_spi.crf
stm32f10x_spi.d
stm32f10x_spi.o
stm32f10x_usart.crf
stm32f10x_usart.d
stm32f10x_usart.o
system_stm32f10x.crf
system_stm32f10x.d
system_stm32f10x.o
usart1.crf
usart1.d
usart1.o
USER
flash.c
flash.h
JLink Regs CM3.txt
JLinkLog.txt
JLinkSettings.ini
main.c
spi.c
spi.h
spi_flash.c
spi_flash.h
STM32-DEMO.plg
STM32-DEMO.uvgui.tang
STM32-DEMO.uvopt
STM32-DEMO.uvproj
STM32-DEMO_LED-DEMO.dep
STM32-DEMO_SPI-DEMO.dep
STM32-DEMO_Target 1.dep
STM32-DEMO_USART1-DEMO.dep
STM32-DEMO_uvopt.bak
STM32-DEMO_uvproj.bak
stm32f10x_conf.h
stm32f10x_it.c
stm32f10x_it.h
usart1.c
usart1.h