• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

SPI都有哪些用法?

闭上眼睛就是天黑 2015-06-30 浏览量:831
SPI都有哪些用法?时序是程序自己编的吗?还是根据什么?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • SPI是一种串行接口,是同步的串口。
    意思就是说,双方事先不约定通信频率,主机以同步脉冲来控制从机接收数据的速度,
    有些单片机内置了SPI控制器,使用的时候,设置好以后,把要发送出去的数据放到控制器的寄存器里面,就不用CPU操心了,SPI控制器会自动把数据发出去。

    没有SPI控制器的单片机也可以用IO口来模拟SPI通信,IO口的每一个高低电平变化都由软件来控制,相对麻烦一点,占用CPU的资源也比较多。


    可以在网上找相关的协议,简单地说就是一个时钟线一个数据线,规定上升沿还是下降沿读取数据。比如发一个字节的00111100,从低位开始发送,上升沿读取数据,就是下面的流程
    拉低时钟,数据线为0(最低位),当数据线信号稳定后,拉高时钟,这样就把最低位发出去了
    拉低时钟,数据线为0(次低位),当数据线信号稳定后,拉高时钟,这样就把次低位发出去了
    拉低时钟,数据线为1(次低位),当数据线信号稳定后,拉高时钟,这样就把第3位发出去了
    ……
    还有一个使能端信号要在发数据的时候置位

    • 发布于 2015-06-30
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 可以驱动带有SPI接口的器件,比如EEPROM、AD······或者进行通信,如果使用硬件SPI,只需要配置相关的寄存器就能完成通信(当然对SPI的通信过程也要了解),如果使用软件SPI,需要严格按照SPI的通信协议编写程序,看懂时序图很重要,调试过程可以借助逻辑分析仪。
    • 发布于2015-06-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 简单点的就是用带spi协议的单片机,那么只有初始化寄存器,和直接读取就可以了,这类似于串口,如果没有的话就只好按spi的时序写io的电平咯
    • 发布于2015-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 是一种协议的,对于接受SPI协议的模块是有用的
    • 发布于2015-07-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

SPI都有哪些用法?