当前位置: 首页 > wzjs >正文

淘宝上的网站怎么做成都关键词快速排名

淘宝上的网站怎么做,成都关键词快速排名,网站推广是做什,网站建设与运营总结一、SPI通信协议:电子设备的高速对话术 SPI(Serial Peripheral Interface)是电子设备间常用的同步串行通信协议,凭借其高速、全双工的特点,广泛应用于存储器、传感器等外设的通信。 1.1 基础原理(四线制交…

一、SPI通信协议:电子设备的高速对话术

SPI(Serial Peripheral Interface)是电子设备间常用的同步串行通信协议,凭借其高速、全双工的特点,广泛应用于存储器、传感器等外设的通信。

1.1 基础原理(四线制交互)

  • SCK‌:时钟信号线(主设备控制)
  • MOSI‌:主设备输出从设备输入‌
  • MISO‌:主设备输入从设备输出
  • CS‌:片选信号(低电平有效)
    在这里插入图片描述

1.2 通信特点

  • 主从模式:1个主机可控制多个从机
  • 时钟同步:数据传输速率由主机决定
  • 双工传输:可同时收发数据
  • 模式配置:通过CPOL(时钟极性)和CPHA(时钟相位)组合成4种工作模式

1.3 工作原理

通俗版原理拆解:

  1. 角色分工
  • 主机(如STM32):掌控全局,负责生成时钟信号(SCK)和控制数据传输节奏
  • 从机(如W25Q128):被动响应,只在被主机选中时参与通信
  1. 数据传输过程(以发送0xA3为例)
  • Step1:主机拉低对应从机的CS引脚(点名呼叫)
  • Step2:主机通过SCK输出时钟信号(设定通信速度)
  • Step3:主机通过MOSI逐位发送数据(0b10100011)
  • Step4:从机通过MISO同时返回数据(全双工特性)
  • Step5:主机拉高CS结束通信

在这里插入图片描述
设备配合MOSI和MISO和接收缓冲区、发送缓冲区来进行完整的数据交换。当数据传输完成会触发TXE信号,由于传输和接收是同时进行的,也会接收到RXNE信号。这两个信号分别代表,发送缓冲区为空,和接收缓冲区为非空。此时,我们可以将接收缓冲区的数据读取出来,并继续往发送缓冲区传输数据。

工作模式

通过CPOL(时钟极性)和CPHA(时钟相位)组合成4种工作模式


时钟极性(CPOL):
没有数据传输时时钟线的空闲状态电平

  • 0:SCK在空闲状态保持低电平
  • 1:SCK在空闲状态保持高电平

时钟相位(CPHA):
时钟线在第几个时钟边沿采样数据

  • 0:SCK的第一(奇数)边沿进行数据位采样,数据在第一个时钟边沿被锁存
  • 1:SCK的第二(偶数)边沿进行数据位采样,数据在第二个时钟边沿被锁存

模式CPOLCPHA数据采样时机
00(低电平初始)0SCK第一个边沿(上升沿)
101SCK第二个边沿(下降沿)
21(高电平初始)0SCK第一个边沿(下降沿)
311SCK第二个边沿(上升沿)

模式0时序图:
在这里插入图片描述
模式3时序图:
在这里插入图片描述

1.4 SPI寄存器

SPI控制寄存器1(SPI_CR1)(I2S模式下不使用)

在这里插入图片描述

  • 位15 - BIDIMODE:双向数据模式使能 (Bidirectional data mode enable)

0:选择“双线双向”模式;
1:选择“单线双向”模式。

如果我们想使用半双工,则可以将这个位,置1。

  • 位11 - DFF:数据帧格式 (Data frame format)

0:使用8位数据帧格式进行发送/接收;
1:使用16位数据帧格式进行发送/接收。
注:只有当SPI禁止(SPE=0)时,才能写该位,否则出错。

  • 位9 - SSM:软件从设备管理 (Software slave management)

当SSM被置位时,NSS引脚上的电平由SSI位的值决定。
0:禁止软件从设备管理;
1:启用软件从设备管理。

当我们想自己指定一个GPIO口作为自选片选端口的时候,我们需要将这一位,置1

  • 位7 - LSBFIRST:帧格式 (Frame format)

0:先发送MSB;
1:先发送LSB。
注:当通信在进行时不能改变该位的值。

用于我们选择传输数据时采用高位先行还是低位先行的模式。

  • 位6 - SPE:SPI使能 (SPI enable)

0:禁止SPI设备;
1:开启SPI设备。

  • 位5:3 - BR[2:0]:波特率控制 (Baud rate control)

000: fPCLK/2 001: fPCLK/4 010: fPCLK/8 011: fPCLK/16
100: fPCLK/32 101: fPCLK/64 110: fPCLK/128 111: fPCLK/256
当通信正在进行的时候,不能修改这些位。

用于分频的。

  • 位2 - MSTR:主设备选择 (Master selection)

0:配置为从设备;
1:配置为主设备。

  • 位1 - CPOL:时钟极性 (Clock polarity)

0: 空闲状态时,SCK保持低电平;
1: 空闲状态时,SCK保持高电平。

  • 位0 - CPHA:时钟相位 (Clock phase)

0: 数据采样从第一个时钟边沿开始;
1: 数据采样从第二个时钟边沿开始。

SPI控制寄存器 2(SPI_CR2)

在这里插入图片描述

  • 位7 - TXEIE:发送缓冲区空中断使能 (Tx buffer empty interrupt enable)

0:禁止TXE中断;
1:允许TXE中断,当TXE标志置位为’1’时产生中断请求。

  • 位6 - RXNEIE:接收缓冲区非空中断使能 (RX buffer not empty interrupt enable)

0:禁止RXNE中断;
1:允许RXNE中断,当RXNE标志置位时产生中断请求。

SPI 状态寄存器(SPI_SR)

在这里插入图片描述

主要关注以下两位:

  • 位1 - TXE:发送缓冲为空 (Transmit buffer empty)

0:发送缓冲非空;
1:发送缓冲为空。

  • 位0 - RXNE:接收缓冲非空 (Receive buffer not empty)

0:接收缓冲为空;
1:接收缓冲非空。

SPI 数据寄存器(SPI_DR)

在这里插入图片描述

二、HAL库常用SPI函数

2.1. 初始化函数

HAL_SPI_Init(SPI_HandleTypeDef *hspi);

配置SPI工作参数(模式、速率、数据宽度等)

2.2. 数据传输函数

// 阻塞式发送
HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout);// 阻塞式接收
HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout);// 同时收发
HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout);

http://www.dtcms.com/wzjs/384566.html

相关文章:

  • 英语工作室网站怎么做百度推广北京总部电话
  • 网站建设方案云盘郑州网络营销排名
  • dw做的网站不显示上海百度推广开户
  • 国外做giveaway的网站一份完整的营销策划书
  • 顺德公司做网站在线代理浏览网站
  • 网站建设超市镇江推广公司
  • 哪家做的濮阳网站建设百度竞价开户渠道
  • 济南网站建设公司 推荐行知科技百度有哪些app产品
  • 南安住房与城乡建设部网站做百度推广一个月多少钱
  • 做英文网站多少钱seo官网优化详细方法
  • 网站开发组播地址的作用wordpress企业网站模板
  • 在线设计平台源码商丘seo
  • 网页设计的标准尺寸东营seo网站推广
  • 海外推广代理商seo外贸推广
  • 企业网站建设 论文百度账号登录官网
  • wordpress 添加搜索佛山优化推广
  • 免费做网站的公司小程序源码网
  • 珠海品牌型网站建设下百度安装
  • 合肥中小型企业网站建设方案模板附近电脑培训学校
  • 建设市场监督管理网站如何做品牌推广方案
  • centos 下载wordpressseo网络营销外包公司
  • 网络服务器无响应seo基础入门教程
  • 用自己的电脑做服务器弄网站荥阳seo推广
  • 做网站前段用什么软件青岛网站建设制作公司
  • 在哪个国家做垂直网站好谷歌竞价排名推广公司
  • 做服装网站宣传今天发生的重大新闻内容
  • 安徽池州做企业网站百度外推排名
  • 中小企业网站建设客户需求调查问卷搜索引擎营销策划方案
  • 2017主流网站风格关键词工具网站
  • h5网站建设文章自己如何制作一个小程序