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

公司网站制作流程2016供水开发建设公司网站

公司网站制作流程2016,供水开发建设公司网站,网站开发人员趋势,网站开发教学网文章目录 1. STM32 的 SPI 外设简介2. STM32 的 SPI 架构剖析2.1 通讯引脚2.2 时钟控制逻辑2.3 数据控制逻辑2.4 整体控制逻辑 3. 通讯过程4. SPI 初始化结构体详解 1. STM32 的 SPI 外设简介 STM32 的 SPI 外设可用作通讯的主机及从机#xff0c;支持最高的 SCK 时钟频率为 … 文章目录 1. STM32 的 SPI 外设简介2. STM32 的 SPI 架构剖析2.1 通讯引脚2.2 时钟控制逻辑2.3 数据控制逻辑2.4 整体控制逻辑 3. 通讯过程4. SPI 初始化结构体详解 1. STM32 的 SPI 外设简介 STM32 的 SPI 外设可用作通讯的主机及从机支持最高的 SCK 时钟频率为 fpclk/2 (STM32F407 型号的芯片默认 fpclk142MHz fpclk2 为 84MHz)完全支持 SPI 协议的 4 种模式数据帧长度可设置为 8 位或 16 位可设置数据 MSB 先行或 LSB 先行。 2. STM32 的 SPI 架构剖析 2.1 通讯引脚 SPI 的所有硬件架构都从图 SPI 架构图 中左侧 MOSI、 MISO、 SCK 及 NSS 线展开的。 STM32 芯片有多个 SPI 外设它们的 SPI 通讯信号引出到不同的 GPIO 引脚上使用时必须配置到这些指定的引脚见表 STM32F4xx 的 SPI 引脚。关于 GPIO 引脚的复用功能可查阅《STM32F4xx 规格书》以它为准。 STM32F4xx 的 SPI 引脚 引脚SPI 编号SPI1SPI2SPI3SPI4SPI5SPI6MOSIPA7/PB5PB15/PC3/PI3PB5/PC12/PD6PE6/PE14PF9/PF11PG14MISOPA6/PB4PB14/PC2/PI2PB4/PC11PE5/PE13PF8/PH7PG12SCKPA5/PB3PB10/PB13/PD3PB3/PC10PE2/PE12PF7/PH6PG13NSSPA4/PA15PB9/PB12/PI0PA4/PA15PE4/PE11PF6/PH5PG8 其中 SPI1、 SPI4、 SPI5、 SPI6 是 APB2 上的设备最高通信速率达 42Mbtis/s SPI2、 SPI3 是 APB1上的设备最高通信速率为 21Mbits/s。 2.2 时钟控制逻辑 SCK 线的时钟信号由波特率发生器根据“控制寄存器 CR1”中的 BR[0:2] 位控制该位是对 fpclk时钟的分频因子对 fpclk 的分频结果就是 SCK 引脚的输出时钟频率计算方法见表 BR 位对 fpclk的分频 。 其中的 fpclk 频率是指 SPI 所在的 APB 总线频率 APB1 为 fpclk1 APB2 为 fpckl2。 通过配置“控制寄存器 CR”的“CPOL 位”及“CPHA”位可以把 SPI 设置成前面分析的 4 种 SPI模式。 2.3 数据控制逻辑 SPI 的 MOSI 及 MISO 都连接到数据移位寄存器上数据移位寄存器的内容来源于接收缓冲区及发送缓冲区以及 MISO、 MOSI 线。 当向外发送数据的时候数据移位寄存器以“发送缓冲区”为数据源把数据一位一位地通过数据线发送出去 当从外部接收数据的时候数据移位寄存器把数据线采样到的数据一位一位地存储到“接收缓冲区”中。 通过写 SPI 的“数据寄存器 DR”把数据填充到发送缓冲区中通过“数据寄存器 DR”可以获取接收缓冲区中的内容。 2.4 整体控制逻辑 整体控制逻辑负责协调整个 SPI 外设控制逻辑的工作模式根据我们配置的“控制寄存器(CR1/CR2)”的参数而改变基本的控制参数包括前面提到的 SPI 模式、波特率、 LSB 先行、主从模式、单双向模式等等。 在外设工作时控制逻辑会根据外设的工作状态修改“状态寄存器(SR)”只要读取状态寄存器相关的寄存器位就可以了解 SPI 的工作状态了。除此之外控制逻辑还根据要求负责控制产生 SPI 中断信号、 DMA 请求及控制 NSS 信号线 实际应用中一般不使用 STM32 SPI 外设的标准 NSS 信号线而是更简单地使用普通的GPIO软件控制它的电平输出从而产生通讯起始和停止信号。 3. 通讯过程 STM32 使用 SPI 外设通讯时在通讯的不同阶段它会对“状态寄存器 SR”的不同数据位写入参数通过读取这些寄存器标志来了解通讯状态。 图主发送器通讯过程 中的是“主模式”流程即 STM32 作为 SPI 通讯的主机端时的数据收发过程 主模式收发流程及事件说明如下 (1) 控制 NSS 信号线产生起始信号 (2) 把要发送的数据写入到“数据寄存器 DR”中该数据会被存储到发送缓冲区 (3) 通讯开始 SCK 时钟开始运行。 MOSI 把发送缓冲区中的数据一位一位地传输出去 MISO 则把数据一位一位地存储进接收缓冲区中 (4) 当发送完一帧数据的时候“状态寄存器 SR”中的“TXE 标志位”会被置 1表示传输完一帧发送缓冲区已空类似地当接收完一帧数据的时候“RXNE 标志位”会被置 1表示传输完一帧接收缓冲区非空 (5) 等待到“TXE 标志位”为 1 时若还要继续发送数据则再次往“数据寄存器 DR”写入数据即可等待到“RXNE 标志位”为 1 时通过读取“数据寄存器 DR”可以获取接收缓冲区中的内容。假如使能了 TXE 或 RXNE 中断 TXE 或 RXNE 置 1 时会产生 SPI 中断信号进入同一个中断服务函数到 SPI 中断服务程序后可通过检查寄存器位来了解是哪一个事件再分别进行处理。也可以使用 DMA 方式来收发“数据寄存器 DR”中的数据。 4. SPI 初始化结构体详解 STM32 标准库提供了 SPI 初始化结构体及初始化函数来配置 SPI 外设。初始化结构体及函数定义在库文件“stm32f4xx_spi.h”及“stm32f4xx_spi.c”中 typedef struct {uint16_t SPI_Direction; /* 设置 SPI 的单双向模式 */uint16_t SPI_Mode; /* 设置 SPI 的主/从机端模式 */uint16_t SPI_DataSize; /* 设置 SPI 的数据帧长度可选 8/16 位 */uint16_t SPI_CPOL; /* 设置时钟极性 CPOL可选高/低电平 */uint16_t SPI_CPHA; /* 设置时钟相位可选奇/偶数边沿采样 */uint16_t SPI_NSS; /* 设置 NSS 引脚由 SPI 硬件控制还是软件控制*/uint16_t SPI_BaudRatePrescaler; /* 设置时钟分频因子 fpclk/分频数 fSCK */uint16_t SPI_FirstBit; /* 设置 MSB/LSB 先行 */uint16_t SPI_CRCPolynomial; /* 设置 CRC 校验的表达式 */ }SPI_InitTypeDef;
http://www.w-s-a.com/news/814204/

相关文章:

  • 哪个网站做免费广告好上海人才网站
  • cn域名做网站竞价推广代理
  • 省建设干部培训中心网站网站地图1 500 怎么做
  • 制作一个网站需要哪些人网站建设经营服务合同
  • 山东省住房和城乡建设厅官方网站网易发布广州
  • 长沙设计网站效果设计师灵感网站
  • 做网站php都用什么框架把asp.net写的网站别人怎么访问
  • 网站建设捌金手指下拉六正规的代运营公司
  • 自己申请网站空间冀州建网站
  • 哈尔滨旅游团购网站建设江苏建设工程建设网
  • 在郑州做网站茶叶网站建设网页设计制作
  • 58做网站吗南京有关制作网站的公司
  • 申请建设门户网站的申请先做网站还是先申请域名
  • 门户网站怎么做seo玩具外贸好做吗
  • 网页设计模板的网站黄埔营销型网站建设
  • 企业为什么要建立网站江苏高校品牌专业建设工程网站
  • 网站建设公司需要交税么福建省城乡建设厅网站
  • dedecms网站首页网站正在建设中 源码下载
  • 论坛网站有哪些怎么wordpress主题
  • 网站搭建中企动力第一返利的网站怎么做
  • 在哪网站可以做农信社模拟试卷优衣库网站建设的目的
  • 杭州网站建设ttmwl网络平台推广公司
  • 工作室网站技能培训班
  • 东丰网站建设万盛网站制作
  • 安徽黄山网站建设wordpress 公众号 获取密码
  • 自己电脑做网站模板腾讯网站建设分析
  • 如何增加网站反链虚拟主机 2个网站
  • 手机网站调用分享wordpress.org移除
  • 工业和信息化部网站备案系统查询市场调研表模板
  • 网站流量转化线下推广活动有哪些