Chinaunix首页 | 论坛 | 博客
  • 博客访问: 245794
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 273
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-27 23:34
个人简介

To follow the path,look to the master,follow the master.

文章分类

全部博文(35)

文章存档

2019年(1)

2018年(1)

2017年(1)

2016年(8)

2015年(24)

分类: 嵌入式

2015-11-02 14:46:31

Serial Peripheral Interface 串行外设接口。SPI 是一种高速的,全双工,同步的通信总线。芯片的管脚只占4根线。
通信原理:以主从方式为主,一主一从或多个从设备。至少3条SDI(数据输入)、SDO(输出)、SCLK(时钟)、CS(片选)
1.SDO-主设备数据输出,从设备数据输入
2.SDI-主设备数据输入,从设备数据输出
3.SCLK-时钟信号,由设备产生
4.CS-从设备使能信号,由主设备控制
通信由主设备发起。主设备通过MOSI脚数据发送给从设备,从设备通过MISO引脚回传数据。
全双工通信的数据输出和数据输入是用同一种时钟信号同步;时钟信号由主设备通过SCK脚提供。
          SPI_InitStructure.SPI_Direction                           //设置SPI单向还是双向数据模式
          SPI_InitStructure.SPI_Mode                                //设置为SPI工作模式
          SPI_InitStructure.SPI_DataSize                           //SPI数据大小
          SPI_InitStructure.SPI_CPOL                                //选择串行时钟稳态
          SPI_InitStructure.SPI_CPHA                                //设置捕获的时钟活动
          SPI_InitStructure.SPI_NSS                                  //指定NSS信号由硬件还是软件管理
          SPI_InitStructure.SPI_BaudRatePrescaler             //定义波特率预分频值
          SPI_InitStructure.SPI_FirstBit                              //数据传送位 高位在前还是低位在前
          SPI_InitStructure.SPI_CRCPolynomial                   // CRC 值计算的多项式
          SPI_Init(SPI1, &SPI_InitStructure);                      //初始化SPI 接口

          SPI_Cmd(SPI1, ENABLE);              //使能SPI 串行接口

阅读(1827) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~