📄 init_spi.h
字号:
#ifndef _INIT_SPI_
#define _INIT_SPI
void Init_SPI(void)
{
SPI_InitTypeDef SPI_InitStructure; /* 定义 SPI 初始化结构体 */
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//SPI 设置为双线双向全双工
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;//SPI 发送接收 8 位帧结构
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;//时钟空闲时保持低电平
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;//数据捕获于第二个时钟沿
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;//内部 NSS 信号由 SSI 位控制
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4;//波特率预分频值为 4
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;//数据传输从 MSB 位开始
SPI_InitStructure.SPI_CRCPolynomial = 7;//用于 CRC 值计算的多项式
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;//设置 SPI2 为主机
SPI_Cmd(SPI2, ENABLE);//使能 SPI2
SPI_Init(SPI2, &SPI_InitStructure);
}
/*void SPI2_SendByte(unsigned char byte) //SPI数据发送函数
{
SPI_I2S_SendData(SPI2, byte); // SPI2 发送一个字节
while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET); // 等待 SPI2 发送完毕
}*/
/*unsigned char SPI2_ReadByte(void)
{
unsigned char dt = 0;
while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);// 等待 SPI2 接收数据完毕
dt = SPI_I2S_ReceiveData(SPI2);// 读出 SPI2 接收的数据
return dt;
}*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -