ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:237.42KB ,
资源ID:8133906      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8133906.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新STM32学习重点spi剖析文档格式.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、SPI主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。SPI总线四种工作方式 SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或

2、下降)数据被采样。SPI主模块和与之通信的外设备时钟相位和极性应该一致。不同时钟相位下的总线数据传输时序见下图:二、STM32的SPI介绍STM32的SPI功能很强大,SPI时钟最多可以到18Mhz,支持DMA,可以配置为SPI协议或者I2S协议。本节,我们将利用STM32的SPI来读取外部SPI FLASH芯片(W25X16),这节,我们使用STM32的SPI1的主模式, STM32的主模式配置步骤如下:1)配置相关引脚的复用功能,使能SPI1时钟。我们要用SPI1,第一步就要是能SPI1的时钟,SPI1的时钟通过APB2ENR的第12位来设置。其次要设置SPI1的相关引脚为复用输出,这样才

3、会连接到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文件的内容:#ifnd

4、ef _SPI_H_#define _SPI_H_#include stm32f10x.h#define SPI_CE_H() GPIO_SetBits(GPIOE, GPIO_Pin_6) #define SPI_CE_L() GPIO_ResetBits(GPIOE, GPIO_Pin_6)#define SPI_CSN_H() GPIO_SetBits(GPIOE, GPIO_Pin_7)#define SPI_CSN_L() GPIO_ResetBits(GPIOE, GPIO_Pin_7)void SPI2_Init(void);u8 Spi_RW(u8 dat);#endifSpi

5、.c 文件内容:spi.hvoid SPI2_Init(void) GPIO_InitTypeDef GPIO_InitStructure; SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE );/PORTB时钟使能 RCC_APB1PeriphClockCmd( RCC_APB1Periph_SPI2, ENABLE );/SPI2时钟使能 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIO

6、C, ENABLE); /使能PE/C端口时钟 /*配置 SPI_NRF_SPI的 SCK,MISO,MOSI引脚,GPIOB13,GPIOB14,GPIOB15 */ 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);

7、 /*配置SPI_NRF_SPI的CE引脚PE6,和SPI_NRF_SPI的 CSN 引脚PE7:*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7; /PE6 7 推挽 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

8、= 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_Data

9、Size = 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分频,

10、9MHz 市场环境所提供的创业机会是客观的,但还必须具备自身的创业优势,才能使我们的创业项目成为可行。作为大学生的我们所具有的优势在于: SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; /高位在前 SPI_InitStructure.SPI_CRCPolynomial = 7; /CRC值计算的多项式 SPI_Init(SPI2, &SPI_InitStructure);(五)DIY手工艺品的“价格弹性化” /* Enable SPI2 */ SPI_Cmd(SPI2, ENABLE);大学生购买力有限,即决定了要求商品能价廉物美,但更注重

11、的还是在购买过程中对精神文化爱好的追求,满足心理需求。u8 Spi_RW(u8 dat) 培养动手能力 学一门手艺 打发时间 兴趣爱好 /* 当 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、消费“多样化” /* Return the byte read from the SPI bus */ 9、如果你亲戚朋友送你一件DIY手工艺制品你是否会喜欢? return SPI_I2S_ReceiveData(SPI2);

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

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