25.SPI接口原理与配置

发布者:GoldenSunrise最新更新时间:2017-11-09 来源: eefocus关键字:SPI  接口原理  配置 手机看文章 扫描二维码
随时随地手机看文章

一。 SPI接口原理

25.SPI接口原理与配置

25.SPI接口原理与配置
主机给从机发送8个位的同时,从机也给主机传回8个位,即一个字节
25.SPI接口原理与配置

25.SPI接口原理与配置

25.SPI接口原理与配置

25.SPI接口原理与配置

25.SPI接口原理与配置
时钟信号的相位和极性由SPI_CR寄存器的CPOL和CPHA位来控制,能够组成4种时序关系。

CPHA控制在时钟的第几个边沿数据被采集。

CPOL= 1 说明时钟信号在空闲时是高电平。

CPOL= 0 说明时钟信号在空闲时是低电平。

CPHA= 1,在时钟信号的第二个边沿数据被采集。

25.SPI接口原理与配置
CPHA= 0 时表示数据在时钟信号的第一个边沿被采集。

25.SPI接口原理与配置
注:要根据从机的相位和极性来配置主机的相位和极性。主机要与从机匹配。

25.SPI接口原理与配置
25.SPI接口原理与配置
25.SPI接口原理与配置
SPI引脚配置模式:

25.SPI接口原理与配置


二。 SPI寄存器函数配置

25.SPI接口原理与配置

25.SPI接口原理与配置
1. SPI初始化函数

void SPI_Init(SPI_TypeDef* SPIx, SPI_InitTypeDef* SPI_InitStruct);

结构体类型 SPI_InitTypeDef 的定义:

typedef struct

{

uint16_t SPI_Direction;

uint16_t SPI_Mode; 

uint16_t SPI_DataSize; 

uint16_t SPI_CPOL; 

uint16_t SPI_CPHA; 

uint16_t SPI_NSS;   

uint16_t SPI_BaudRatePrescaler;  

uint16_t SPI_FirstBit;    

uint16_t SPI_CRCPolynomial; 

}SPI_InitTypeDef;

例:

SPI_InitTypeDef   SPI_InitStructure;

SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;   //双线双向全双工

SPI_InitStructure.SPI_Mode = SPI_Mode_Master;    //主 SPI

SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;  // SPI 发送接收 8 位帧结构

SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;//串行同步时钟的空闲状态为高电平 

SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;//第二个跳变沿数据被采样

SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;  //NSS 信号由软件控制

SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;  //预分频 256

SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;  //数据传输从 MSB 位开始

SPI_InitStructure.SPI_CRCPolynomial = 7;  //CRC 值计算的多项式

SPI_Init(SPI2, &SPI_InitStructure);   //根据指定的参数初始化外设 SPIx 寄存器

25.SPI接口原理与配置

三。 W24Qxx配置讲解

SPI flash W24Qxx硬件连接:

25.SPI接口原理与配置

四。 实验程序讲解


关键字:SPI  接口原理  配置 引用地址:25.SPI接口原理与配置

上一篇:24. 汉字显示实验
下一篇:26. SPI实验W25Qxx讲解

推荐阅读最新更新时间:2024-03-16 15:44

如何为LED切换配置GPIO
2.1目标 了解如何使用硬件抽象层 (HAL) 库切换 STM32L476 Nucleo 板上的引脚,并了解如何在 STM32CubeIDE 中设置引脚和 GPIO 端口。 2.2在STM32CubeIDE中创建工程↑ ‘主面板中的文件》新建》 STM32 项目。 此示例使用 NUCLEO-L476RG 板。 首先使用 板选择器 选择 NUCLEO-L476RG板,如下图所示: 如果您还没有下载 STM32L476 Cube 库,它会自动下载。然而,这可能需要一些时间。 保存项目。 然后您将看到一个弹出窗口,询问您是否要将外围设备初始化为它们的默认配置。 无需配置任何外设,因为仅使用核心/闪存/SRAM(默认外设)。
[单片机]
如何为LED切换<font color='red'>配置</font>GPIO
索尼WI-1000XM2体验 仍是配置最强的颈挂式降噪耳机
颈挂式无线降噪耳机,现在似乎成了一种被边缘化的产品。   和头戴式和真无线这两两个极端不同,颈挂式无线降噪耳机,现在更多被放到入门市场中,变成一个常见的低预算入门选择。   不过,现在还是有厂牌坚持更新旗舰级的颈挂式降噪耳机。   那,还是索尼。   早在 12 月 10 日,索尼正式推出了新一代颈挂式无线降噪耳机 WI-1000XM2。不管是功能、规格支持还是配置,WI-1000XM2 都达到了索尼 1000X 系列家族 3 代的标准,和上一代比起来,WI-1000XM2 也有不少设计上的优化。只看账面表现,它确实是目前配置最强的颈挂式无线降噪。   那在这次的体验中,我们不仅要看看 WI-1000XM2 能在
[手机便携]
索尼WI-1000XM2体验 仍是<font color='red'>配置</font>最强的颈挂式降噪耳机
stm32l0xx时钟系统详解与代码配置
时钟是嵌入式系统的脉搏,对嵌入式系统至关重要。处理器内核在时钟驱动下完成状态变换等动作,外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。stm32l0xx系列低功耗新增MSI内部多频率可选时钟源,代码配置方面基于HAL库,与f系列相比存在一定的区别,本文以datasheet中的时钟树图为基础对时钟系统进行学习总结。时钟树如下图1所示: 1、LSI RC,低速内部时钟(RC振荡器),是看门狗(WatchdogLS)的唯一时钟来源,可以作为实时时钟RTC和主时钟输出(MCO)的时钟源。 2、LSE OSC,外部低速时钟(晶振),输入输出引脚接OSC32_IN、OCS32_OUT可以作为实时时钟
[单片机]
STM32如何配置ADC?
1、 系统时钟定义: RCC_Configuration(); 包涵: RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMAx, ENABLE); // Enable DMA clock RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADCx , ENABLE); // Enable ADC1 and GPIOC clock 2、 中断源配置: NVIC_Configuration(); 举例: { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); NV
[单片机]
STM32使用硬件SPI驱动RC522门禁模块
0、前言 RC522射频门禁识别模块非常常用,某宝卖家提供的程序基本都是使用软件模拟SPI的方式进行驱动的,但是实测使用软件模拟SPI识别速率、准确性没有硬件SPI驱动时高,因此本篇博客用于记录使用STM32硬件SPI驱动RC522门禁模块。 1、硬件连接 单片机:STM32F103RCT6 硬件接口:SPI2 MISO - PB14 (主机输入,从机输出) MOSI - PB15 (主机输出,从机输入) SCK - PB13 (时钟信号SCLK) SDA - PC7 (片选NSS) RST - PC8 (复位) IRQ中断引脚悬空,不连接 说明 手册上说明RC522芯片是支持SPI、IIC、串口的。 当使用SPI接
[单片机]
STM32使用硬件<font color='red'>SPI</font>驱动RC522门禁模块
旗舰版魅族MX4 Pro配置曝光 十月发布
   腾讯数码讯(水蓝)尽管魅族MX4发布后受到无数网友的追捧,但还是有不少人仍在痴心等待旗舰版本MX4 Pro的到来。日前,在网络上泄露所谓魅族MX4 Pro的相关配置信息之后,行业分析师潘九堂在微博上爆料称,魅族MX4 pro将采用三星Exynos 5430八核处理器,将于10月份正式发布,原定价在2500元以内,但由于魅族MX4超预期成功,预计部分配置和定价可能会发生变化。 疑似MX4 Pro配置曝光 相比已经发布的魅族MX4,所谓的旗舰版本MX4 Pro由于具备更强大的功能而备受期待。而根据此前泄露的所谓内部材料显示,即将推出的魅族MX4 Pro所拥有的功能规格堪称无与伦比。比如该机将拥有4GB的内存和配备2K分辨率级
[手机便携]
ARM的串口通信配置
#include Usart.h #include stdio.h void usart_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; USART_ClockInitTypeDef USART_ClockInitStructure; ////////////////////////////////////////////////////////////////// // USART_ClockI
[单片机]
配置芯片成就低成本安全摄像机设计
新创公司Stretch发布了基于其S6000可配置处理器的参考设计与软件,它们可用于开发具有网络连接性能的低成本监控摄像机和视频录像机。 之前还有一家新创公司也这样做过,那就是Stream Processor公司(SPI)。该公司在今年三月份就推出了针对同一市场的芯片、设计和软件。 每年市场上约有3,000万台模拟监控摄像机交付使用,并且需要人们通过多组监视器跟踪摄像机的输出图像。据市场研究人员预测,到2011年,这一数字将上升至6,600万台,但其中一半将转向具有网络连接功能的数字产品。它们可以通过计算机上运行的复杂程序被实时监控,当有事件发生时触发告警并通知负责人。 预测可能比较乐观,但机会仍然真实存在,Stretch公
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved