??数据在传输中,高位在先还是低位在先,SPI协议并无明确规定,但是数据要在主从机中正确传输,自然双方要先约定好,一般会采用高位在先(MSB)方式传输 。
??这里需要再提及的概念是时钟极性(CPOL)和时钟相位(CPHA) 。
??时钟极性(CPOL)指通讯设备处于空闲状态(SPI开始通讯前、nSS线无效)时,SCK的状态 。
CPOL = 0:SCK在空闲时为低电平
CPOL = 1:SCK在空闲时为高电平
1 | CPOL = 0:SCK在空闲时为低电平2 | CPOL = 1:SCK在空闲时为高电平
??时钟相位(CPHA)指数据的采样时刻位于SCK的偶数边沿采样还是奇数边沿采样 。
CPHA = 0:在SCK的奇数边沿采样
CPHA = 1:在SCK的偶数边沿采样
1 | CPHA = 0:在SCK的奇数边沿采样2 |CPHA = 1:在SCK的偶数边沿采样
??那么这样说来,SPI的采样时刻并非由上升沿/下降沿决定的 。注意的是,在数据采样时刻,MOSI和MOSI的电平为有效电平,数据不能在这个时刻进行切换,在非采样时刻MOSI和MISO上的信号才能切换 。
??完整的时序图如下:
图4
图5
??所以说,SPI有4中工作模式:
图6
更正:工作模式3的CPOL应为1 。
注意要让主机和从机需要在相同的工作模式下,这样才可以实现正常通讯 。
下面介绍用STM32库函数实SPI通讯代码 。
#ifndef __SPI_H#define __SPI_H#include \\\\"stm32f10x.h\\\\"void SPI2_Co
推荐阅读
- 板式换热器进出水方式 板式换热器工作原理
- 介绍曹德淦是干什么职务工作的 曹德旺哥哥是谁
- 描写工作正能量的句子简短文案 关于工作正能量的句子
- kmspico可以卸载吗 kmspico是什么
- 小程序怎么运营,小程序运营工作内容
- 上幼儿园前的准备 宝宝上幼儿园前的准备工作
- 教大家电脑怎么设置局域网工作组
- 不用上班在家也有高收入的10份工作 有在家挣钱的工作吗
- 房屋常识:必须把户口迁到工作的地方才能交住房公积金吗急求!
- 适合内向者的10种工作 性格内向的人适合做什么工作