0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SPI数据传输有哪些方式

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-25 10:54 次阅读

SPI 数据传输可以有两种方式:同步方式和异步方式。

同步方式:数据传输的发起者必须等待本次传输的结束,期间不能做其它事情,用代码来解释就是,调用传输的函数后,直到数据传输完成,函数才会返回。

异步方式:数据传输的发起者无需等待传输的结束,数据传输期间还可以做其它事情,用代码来解释就是,调用传输的函数后,函数会立刻返回而不用等待数据传输完成,我们只需设置一个回调函数,传输完成后,该回调函数会被调用以通知发起者数据传送已经完成。

同步方式简单易用,很适合处理那些少量数据的单次传输。但是对于数据量大、次数多的传输来说,异步方式就显得更加合适。

对于 SPI 控制器来说,要支持异步方式必须要考虑以下两种状况:

对于同一个数据传输的发起者,既然异步方式无需等待数据传输完成即可返回,返回后,该发起者可以立刻又发起一个
message,而这时上一个message还没有处理完。

对于另外一个不同的发起者来说,也有可能同时发起一次message传输请求。

队列化正是为了为了解决以上的问题,所谓队列化,是指把等待传输的 message 放入一个等待队列中,发起一个传输操作,其实就是把对应的 message
按先后顺序放入一个等待队列中,系统会在不断检测队列中是否有等待传输的 message,如果有就不停地调度数据传输内核线程,逐个取出队列中的 message
进行处理,直到队列变空为止。SPI 通用接口层为我们实现了队列化的基本框架。

图片

spi_message 就是一次 SPI 数据交换的原子操作,不可打断。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据传输
    +关注

    关注

    9

    文章

    1526

    浏览量

    63562
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1615

    浏览量

    89600
  • 同步
    +关注

    关注

    0

    文章

    89

    浏览量

    19017
收藏 人收藏

    评论

    相关推荐

    DSP2812的SPI数据传输

    利用DAC8534芯片和2812的SPI接口实现多路DA转换,但是DAC8534的数据传输是24位的,[8位(地址加通道选择)+16位(数据16位精度)],但是SPI
    发表于 08-11 20:26

    关于数据传输接口

    单片机用于数据传输的外设有哪些?原谅在下孤陋寡闻,我所知道的SPI、I2C,不知还有哪些?谁的数据传输速度最快?
    发表于 09-02 12:22

    数据传输指令何作用?数据传输指令哪几种

    数据传输指令何作用?数据传输指令哪几种?算术运算指令哪几种?逻辑运算指令又有哪几种呢?
    发表于 10-15 09:51

    数据传输方式哪几种?

    数据传输方式哪几种?
    发表于 12-27 06:40

    介绍一种STM32数据传输方式SPI

    之前介绍了STM32数据传输的一种方式IIC,这次我将进行另外一种数据传输方式SPI
    发表于 02-17 06:02

    IIC是什么?IIC数据传输哪几种方式

    IIC是什么?IIC数据传输哪几种方式呢?AT24C02芯片的数据传输过程是怎样的?
    发表于 03-01 06:06

    DMA进行数据传输和CPU进行数据传输的疑问

    求大佬解答,本人正在学习STM32单片机中DMA直接数据存储部分的内容 看了DMA简介后,也上手过实例代码,但是没有实际的项目经验,所以以下疑问: DMA外设在进行数据传输的操作,是否也是需要经过
    发表于 05-25 17:18

    软驱的安装方式/数据传输

    软驱的安装方式/数据传输率  安装方式     
    发表于 12-26 15:29 571次阅读

    基于SPI总线的无线数据传输系统设计

    基于SPI总线的无线数据传输系统设计   摘要: 通过基于SPI总线的无线数据通信设备,利用无线数据收发芯片NRF905和51单片机STC
    发表于 03-13 11:42 3655次阅读
    基于<b class='flag-5'>SPI</b>总线的无线<b class='flag-5'>数据传输</b>系统设计

    数据传输,数据传输的工作方式有哪些?

    数据传输,数据传输的工作方式有哪些? 将数据从一个地方传输到另一个地方的方法多得令人难以置信。 数
    发表于 03-18 14:41 5951次阅读

    数据传输速率是什么意思

    数据传输速率是什么意思 数据传输速率是通过信道每秒可传输的数字信息量的量度。数据传输速率也称为吞吐率。数据传输速率由很
    发表于 03-18 14:45 4941次阅读

    数据传输中的成帧

    什么是数据传输中的成帧 数据传输中的成帧 成帧技术是一种用来在一个比特流内分配或标记信道的技术,为电信提供选择基本的时隙结构和管理方式、错误
    发表于 03-18 14:46 3671次阅读

    你知道物联网的数据传输及联网方式

    了解物联网相关的数据传输及联网方式是非常有必要的。
    发表于 06-20 14:12 3925次阅读

    多维度阐述数据传输方式分类

    数据传输方式数据在信道上传送所采取的方式。若按数据传输的顺序可以分为并行传输和串行
    的头像 发表于 03-24 11:04 1250次阅读

    SPI是什么 SPI数据传输

    数据传输 SPI 的英文全称为 Serial Peripheral Interface,顾名思义为串行外设接口。 SPI 是一种同步串行通信接口规范,主要应用于嵌入式系统中的短距离通信。该接口
    的头像 发表于 07-21 10:03 5025次阅读