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

如何用IO口模拟SPI协议?

15345338508 2019-02-27 浏览量:2168
如何用IO口模拟SPI协议?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 首先选4个IO口,作模拟用,分别模拟CS、SCLK、SI、SO.即是片选、时钟、数据输入、数据输出。

    IO口初始化,分别把对应的IO口设置输入输出。CS、SCLK、SO、设置为输出,SI设置为输入。

    然后就是时序问题了,参照Datasheet 时序依次发信号,做好延时就OK。

    • 发布于 2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:17
  • 软件模拟SPI,在使用没有硬件SPI的单片机才会用到,比较占资源,现在一般都用硬件,参照这个51单片机的例子:https://blog.csdn.net/ce123_zhouwei/article/details/6905630
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 买一个 spi oled 屏幕,会有一份 51 驱动程序,就是用 io 模拟 spi 协议的。
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • spi四种时序,具体要看你从机芯片支持哪种模式,按从机时序要求输出电平即可。
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • io模式spi实例太多了,只要是单片机都可以模拟,可以参考网上的51的模拟程序
    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 楼主参考参考这个:

    单片机IO口模拟SPI四种模式的程序https://blog.csdn.net/wwt18811707971/article/details/80896043


    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • SPI上面有根时钟线,要模拟SPI时序,就要求发送数据线跟这个时钟线同步发送,然后另外接收数据的那根线要在时钟线上边沿位置进行采样

    SPI还是建议用自带的控制器,由于它的速度普遍较高,用模拟的有可能数据异常

    • 发布于2019-02-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以参考下代码http://machinnneee.spaces.eepw.com.cn/articles/article/item/139027
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用普通引脚模拟spi接口的话,你必须要熟悉spi的时序才能正常模拟。按照标准的spi接口时序编写就可以。
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 定义一根时钟线,一根输入一根输出一根片选,输出跟输入都在时钟线的脉冲里面传输数据即可。

    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 通过4个gpio口模拟SPI就可以了,正点原子有例程
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 模拟SPI主要就是对时序的模拟,已arduino为例,你可以直接通过引入softwire实现软件spi,和硬件spi用起来几乎没区别,如果你想研究,可以直接看一下softwire的代码,不长,对照时序图看也比较好理解。

    类似的stm32上也有。

    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 定义四个IO分别对应CSSCLKSISO。然后参考SPI的时序进行数据的读写
    • 发布于2019-02-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 需要4个普通IO。分别作为时钟SCLK,片选CS,输入MISO,输出MOSI。然后按照SPI的时序进行数据读写。一般SPI设备需要先写地址,再写数据。对延时有要求,每个时钟会出一位数据。
    • 发布于2019-03-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 选4个IO口,分别模拟片选、时钟、输入输出4个信号,按照SPI的时序进行读写操作就行了,主要是时序这块需要注意
    • 发布于2019-03-01
    • 举报
    • 评论 0
    • 0
    • 0

  • SPI有四线的,三线的, 根据协议的时序要求,来变化IO口的电平状态
    • 发布于2019-03-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以  单片机 控制 外部的ADC芯片采用的就是  SPI
    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 四个IO口,输出不同的电平信号,模拟SPI的时序就可以了
    • 发布于2019-03-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何用IO口模拟SPI协议?