最新STM32学习重点spi剖析文档格式.docx

上传人:b****4 文档编号:8133906 上传时间:2023-05-10 格式:DOCX 页数:6 大小:237.42KB
下载 相关 举报
最新STM32学习重点spi剖析文档格式.docx_第1页
第1页 / 共6页
最新STM32学习重点spi剖析文档格式.docx_第2页
第2页 / 共6页
最新STM32学习重点spi剖析文档格式.docx_第3页
第3页 / 共6页
最新STM32学习重点spi剖析文档格式.docx_第4页
第4页 / 共6页
最新STM32学习重点spi剖析文档格式.docx_第5页
第5页 / 共6页
最新STM32学习重点spi剖析文档格式.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

最新STM32学习重点spi剖析文档格式.docx

《最新STM32学习重点spi剖析文档格式.docx》由会员分享,可在线阅读,更多相关《最新STM32学习重点spi剖析文档格式.docx(6页珍藏版)》请在冰点文库上搜索。

最新STM32学习重点spi剖析文档格式.docx

SPI主要特点有:

可以同时发出和接收串行数据;

可以当作主机或从机工作;

提供频率可编程时钟;

发送结束中断标志;

写冲突保护;

总线竞争保护等。

SPI总线四种工作方式SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。

如果CPOL=0,串行同步时钟的空闲状态为低电平;

如果CPOL=1,串行同步时钟的空闲状态为高电平。

时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。

如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;

如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。

SPI主模块和与之通信的外设备时钟相位和极性应该一致。

不同时钟相位下的总线数据传输时序见下图:

二、STM32的SPI介绍

STM32的SPI功能很强大,SPI时钟最多可以到18Mhz,支持DMA,可以配置为SPI协议或者I2S协议。

本节,我们将利用STM32的SPI来读取外部SPIFLASH芯片(W25X16),这节,我们使用STM32的SPI1的主模式,STM32的主模式配置步骤如下:

1)配置相关引脚的复用功能,使能SPI1时钟。

我们要用SPI1,第一步就要是能SPI1的时钟,SPI1的时钟通过APB2ENR的第12位来设置。

其次要设置SPI1的相关引脚为复用输出,这样才会连接到SPI1上否则这些IO口还是默认的状态,也就是标准输入输出口。

这里我们使用的是PA5、6、7这3个(SCK.、MISO、MOSI,CS使用软件管理方式),所以设置这三个为复用IO。

2)设置SPI1工作模式。

这一步全部是通过SPI1_CR1来设置,我们设置SPI1为主机模式,设置数据格式为8位,然后通过CPOL和CPHA位来设置SCK时钟极性及采样方式。

并设置SPI1的时钟频率(最大18Mhz),以及数据的格式(MSB在前还是LSB在前)。

3)使能SPI1。

这一步通过SPI1_CR1的bit6来设置,以启动SPI1,在启动之后,我们就可以开始SPI通讯了。

Spi.h文件的内容:

#ifndef_SPI_H_

#define_SPI_H_

#include"

stm32f10x.h"

#defineSPI_CE_H()GPIO_SetBits(GPIOE,GPIO_Pin_6)

#defineSPI_CE_L()GPIO_ResetBits(GPIOE,GPIO_Pin_6)

#defineSPI_CSN_H()GPIO_SetBits(GPIOE,GPIO_Pin_7)

#defineSPI_CSN_L()GPIO_ResetBits(GPIOE,GPIO_Pin_7)

voidSPI2_Init(void);

u8Spi_RW(u8dat);

#endif

Spi.c文件内容:

spi.h"

voidSPI2_Init(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

SPI_InitTypeDefSPI_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

//PORTB时钟使能

RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2,ENABLE);

//SPI2时钟使能

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOC,ENABLE);

//使能PE/C端口时钟

/*配置SPI_NRF_SPI的SCK,MISO,MOSI引脚,GPIOB^13,GPIOB^14,GPIOB^15*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

//复用推挽输出

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOB,&

GPIO_InitStructure);

/*配置SPI_NRF_SPI的CE引脚PE6,和SPI_NRF_SPI的CSN引脚PE7:

*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7;

//PE67推挽

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

//推挽输出

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOE,&

//初始化指定IO

/*配置SPI_NRF_SPI的IRQ引脚,*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;

//GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;

//下拉输入

GPIO_Init(GPIOC,&

SPI_CSN_L();

SPI_InitStructure.SPI_Direction=SPI_Direction_2Lines_FullDuplex;

//双线全双工

SPI_InitStructure.SPI_Mode=SPI_Mode_Master;

//主模式

SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;

//数据大小8位

SPI_InitStructure.SPI_CPOL=SPI_CPOL_Low;

//时钟极性,空闲时为低

SPI_InitStructure.SPI_CPHA=SPI_CPHA_1Edge;

//第1个边沿有效,上升沿为采样时刻

SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;

//NSS信号由软件产生

SPI_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_16;

//SPI_BaudRatePrescaler_88分频,9MHz

市场环境所提供的创业机会是客观的,但还必须具备自身的创业优势,才能使我们的创业项目成为可行。

作为大学生的我们所具有的优势在于:

SPI_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB;

//高位在前

SPI_InitStructure.SPI_CRCPolynomial=7;

//CRC值计算的多项式

SPI_Init(SPI2,&

SPI_InitStructure);

(五)DIY手工艺品的“价格弹性化”/*EnableSPI2*/

SPI_Cmd(SPI2,ENABLE);

大学生购买力有限,即决定了要求商品能价廉物美,但更注重的还是在购买过程中对精神文化爱好的追求,满足心理需求。

}

u8Spi_RW(u8dat)

培养动手能力□学一门手艺□打发时间□兴趣爱好□{

/*当SPI发送缓冲器非空时等待*/

(5)资金问题while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE)==RESET);

(2)东西全/*通过SPI2发送一字节数据*/

SPI_I2S_SendData(SPI2,dat);

3、消费“多样化”/*当SPI接收缓冲器为空时等待*/

(3)心态问题while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_RXNE)==RESET);

3、消费“多样化”/*ReturnthebytereadfromtheSPIbus*/

9、如果你亲戚朋友送你一件DIY手工艺制品你是否会喜欢?

returnSPI_I2S_ReceiveData(SPI2);

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2