STM32 SPI

时间:2014-04-26 00:10:33   收藏:0   阅读:488

SPI通信过程简述:

两根数据线:对应于通信双方的各自数据发送端和接收端

一根时钟线:用于通信的同步

一根NSS线:简单来说其作用是使能

 

通信过程

双方数据通过时钟的电平边沿保持同步:(SPI只利用了其中一种边沿:即要么上边沿要么下边沿)

因此对于时钟信号来说,最低要求就是要有边沿的变化,而要产生边沿的变化,有多种选择:

当然,通信双方的上述配置要相同

 

再具体些:

当时钟信号的有效边沿到来时,在MOSIMISO上发生了如下事情:

MOSI:主发从收

MISO:从发主收

由此完成了一个位数据的交换,接着双方等待下一个有效边沿的到来,如此循环

 

再具体些:

这里的所谓的“发”,不过是把数据线设置成对应的电平,而“收”就是检测一下数据线的电平。显然,收要在发之后,因此——————>在时钟信号的有效边沿到来前,发送方就要准备好数据(即提前设置数据线的电平),边沿到来时接收方检测一下就行了

 

 

主和从的区别是什么?

主:提供时钟信号

 

NSS详解: 

Before:

NSS有两种模式:

  1. 软件模式:类似于用一个寄存器代表实际的引脚状态
  2. 硬件模式:实际引脚状态

 

从设备:

  NSS信号为低时才能通信(包括软件和硬件)

主设备:

NSS又分输入和输出模式:

  输入:输入模式的作用就是两个字——检测

  检测NSS是否为高,若为低表示总线被占用,工作失败,自动切换至从模式(检测对象可为软件模拟引脚或实际引脚,若采用软件,则SSI位作为引脚的模拟就要被置1,官方库中指定modeSPI_Mode_Maste时就同时设定了SSI1

  输出:拉低NSS 片选从设备(此时若配置为软件模式,作用对象是什么?)

 

其它设置:

关于中断(类似于串口):

 

STM32 SPI,布布扣,bubuko.com

原文:http://www.cnblogs.com/2cats/p/3687480.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!