1 / 10
文档名称:

STM32的介绍.docx

格式:docx   大小:2,479KB   页数:10页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

STM32的介绍.docx

上传人:wz_198613 2018/8/4 文件大小:2.42 MB

下载得到文件列表

STM32的介绍.docx

相关文档

文档介绍

文档介绍:21天学嵌入式开发
第十四讲:同步串行通信接口
课程安排
SPI结构
SPI编程方法
I2C结构
I2C编程方法
SPI结构
STM32的SPI接口通过如下引脚和外部设备相连:
MISO引脚
MOSI引脚
SCK引脚
NSS引脚
SPI从模式工作原理
配置SPI从模式的步骤如下:
设置DFF位以定义数据帧格式为8位或16位。
定义数据传输和串行时钟之间的相位关系。
帧格式必须和主设备相同,MSB在前还是LSB在前取决于SPI_CR1寄存器中的LSBFIRST位。
硬件模式下,在完整的数据帧(8位或16位)发送过程中,NSS引脚必须为低电平。软件模式下,设置SPI_CR1寄存器中的SSM位并清除SSI位。
清除MSTR位,设置SPE位,使相应引脚工作于SPI模式下。
SPI主模式工作原理
配置SPI主模式的步骤如下:
设置SPI_CR1寄存器的BR[2:0]位,来定义串行时钟波特率。
选择CPOL和CPHA位,定义数据传输和串行时钟间的相位关系。
设置DFF位来定义8或16位数据帧格式。
配置SPI_CR1寄存器的LSBFIRST位定义帧格式。
如果NSS引脚需要工作在输入模式,硬件模式中在整个数据帧传输期间应把NSS引脚连接到高电平;在软件模式中,需设置SPI_CR1寄存器的SSM和SSI位。如果NSS引脚工作在输出模式,则只需设置SSOE位。
设置MSTR和SPE位,只当NSS引脚被连到高电平,这些位才能保持置位。
SPI高级功能
SPI通信的CRC
SPI的DMA通信
全双工模式
单工模式
SPI的中断请求
SPI寄存器结构
typedef struct
{
vu16 CR1; // SPI控制寄存器1
u16 RESERVED0;
vu16 CR2; // SPI控制寄存器2
u16 RESERVED1;
vu16 SR; //SPI状态寄存器
u16 RESERVED2;
vu16 DR; //SPI数据寄存器
u16 RESERVED3;
vu16 CRCPR; //SPI CRC多项式寄存器
u16 RESERVED4;
vu16 RXCRCR; //SPI接收CRC寄存器
u16 RESERVED5;
vu16 TXCRCR; //SPI发送CRC寄存器
u16 R