STM32 库文件 配置SPI

SPI 接口介绍

1.
SPI(Serial Peripheral Interface)--串行外设接口
2.支持一主多从
3.数据以串行方式发送,速率最高可达几Mbps
4.4引脚
a.MISO 主入从出引脚
b.MOSI 主出从如引脚
c.CLK 移位脉冲引脚
d./SS 从机选择引脚(一主多从方式下该引脚有多个)
5.配置SPI接口
typedef struct
{
SPI传输方向,全双工或者半双工或者单工
uint16_t SPI_Direction; /*!< Specifies the SPI unidirectional or bidirectional data mode.
This parameter can be a value of @ref SPI_data_direction */
SPI模式: 主模式或者从模式
uint16_t SPI_Mode; /*!< Specifies the SPI operating mode.
This parameter can be a value of @ref SPI_mode */
SPI传输的数据字长:8位或者16位
uint16_t SPI_DataSize; /*!< Specifies the SPI data size.
This parameter can be a value of @ref SPI_data_size */
SPI极性:一般选择模式0或者3,数据在空闲是的电平控制,设置1
uint16_t SPI_CPOL; /*!< Specifies the serial clock steady state.
This parameter can be a value of @ref SPI_Clock_Polarity */
SPI极性 选择SPI数据有效的边沿 当CPOL,CPHA一样时,为第一个上升沿,相反时,为第一个下降沿
uint16_t SPI_CPHA; /*!< Specifies the clock active edge for the bit capture.
This parameter can be a value of @ref SPI_Clock_Phase */
选择SS引脚由硬件选择还是软件选择,一般软件
uint16_t SPI_NSS; /*!< Specifies whether the NSS signal is managed by
hardware (NSS pin) or by software using the SSI bit.
This parameter can be a value of @ref SPI_Slave_Select_management */
设置波特率
uint16_t SPI_BaudRatePrescaler; /*!< Specifies the Baud Rate prescaler value which will be
used to configure the transmit and receive SCK clock.
This parameter can be a value of @ref SPI_BaudRate_Prescaler.
@note The communication clock is derived from the master
clock. The slave clock does not need to be set. */
首位为最高位还是最低位 一般设置MSB
uint16_t SPI_FirstBit; /*!< Specifies whether data transfers start from MSB or LSB bit.
This parameter can be a value of @ref SPI_MSB_LSB_transmission */

uint16_t SPI_CRCPolynomial; /*!< Specifies the polynomial used for the CRC calculation. */
}SPI_InitTypeDef;
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_Mo

de = SPI_Mode_Master; //设置为主SPI//
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_128;
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
SPI_InitStructure.SPI_CRCPolynomial = 7;
SPI_Init(sFLASH_SPI, &SPI_InitStructure);

/*!< Enable the sFLASH_SPI */
SPI_Cmd(sFLASH_SPI, ENABLE);使能SPI接口
配置引脚
1.3根线配置为服用推挽输出
2.配置为推挽输出
3.相应速度配置为50MHZ
4.端口初始化
5.系统的SPI接口配置

相关文档
最新文档