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

SPI总线读取数据,为什么要先写入0

请输入用户名 2020-11-07 浏览量:2195
一些SPI的器件,为什么有的读取数据时,要先写入0;有的就不用写入,有的是写入FF。这是因为什么,为什么要先写入一个数据。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 因为SPI是全双工方式,要读取一个字节,就要往总线上写入一个字节,相当于给从设备一个时钟,从设备才会返回一个数据。


    • 发布于 2020-11-07
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • SPI全双工的,MOSI和MISO相当于是一个环形的寄存器,如果你给他写一个数据,你的MISO就会回传一个数据,跟i2c不一样,i2c写地址的时候LSB就是写或读的标志,如果为读,那从机直接回传了。
    • 发布于2020-11-14
    • 举报
    • 评论 0
    • 1
    • 0

  • 因为sp和读写是同时进行的,所以mosi线上需要有一个具体数据,这个数据就是让从机知道主机要读数据了
    • 发布于2020-11-07
    • 举报
    • 评论 0
    • 0
    • 0

  • SPI的通信方式是读写同时的,所以要读一个数据,就要先写1个。至于写0还是写FF,这应该是器件厂家决定的。
    • 发布于2020-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 因为读取的时候,从设备需要主设备提供的时钟,主设备的控制器要写一些东西,不然它发不了时钟,至于写什么,随便
    • 发布于2020-11-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 先写入0是为了给从器件操作读取时所用的时钟信号,时钟只能主机发出,从机无法发出的
    • 发布于2020-11-10
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

SPI总线读取数据,为什么要先写入0