SPI 數(shù)據(jù)傳輸可以有兩種方式:同步方式和異步方式。
同步方式:數(shù)據(jù)傳輸?shù)陌l(fā)起者必須等待本次傳輸?shù)慕Y(jié)束,期間不能做其它事情,用代碼來解釋就是,調(diào)用傳輸?shù)暮瘮?shù)后,直到數(shù)據(jù)傳輸完成,函數(shù)才會返回。
異步方式:數(shù)據(jù)傳輸?shù)陌l(fā)起者無需等待傳輸?shù)慕Y(jié)束,數(shù)據(jù)傳輸期間還可以做其它事情,用代碼來解釋就是,調(diào)用傳輸?shù)暮瘮?shù)后,函數(shù)會立刻返回而不用等待數(shù)據(jù)傳輸完成,我們只需設(shè)置一個回調(diào)函數(shù),傳輸完成后,該回調(diào)函數(shù)會被調(diào)用以通知發(fā)起者數(shù)據(jù)傳送已經(jīng)完成。
同步方式簡單易用,很適合處理那些少量數(shù)據(jù)的單次傳輸。但是對于數(shù)據(jù)量大、次數(shù)多的傳輸來說,異步方式就顯得更加合適。
對于 SPI 控制器來說,要支持異步方式必須要考慮以下兩種狀況:
對于同一個數(shù)據(jù)傳輸?shù)陌l(fā)起者,既然異步方式無需等待數(shù)據(jù)傳輸完成即可返回,返回后,該發(fā)起者可以立刻又發(fā)起一個
message,而這時上一個message還沒有處理完。
對于另外一個不同的發(fā)起者來說,也有可能同時發(fā)起一次message傳輸請求。
隊列化正是為了為了解決以上的問題,所謂隊列化,是指把等待傳輸?shù)?message 放入一個等待隊列中,發(fā)起一個傳輸操作,其實就是把對應(yīng)的 message
按先后順序放入一個等待隊列中,系統(tǒng)會在不斷檢測隊列中是否有等待傳輸?shù)?message,如果有就不停地調(diào)度數(shù)據(jù)傳輸內(nèi)核線程,逐個取出隊列中的 message
進(jìn)行處理,直到隊列變空為止。SPI 通用接口層為我們實現(xiàn)了隊列化的基本框架。
spi_message 就是一次 SPI 數(shù)據(jù)交換的原子操作,不可打斷。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
SPI(Serial Peripheral Interface,串行外設(shè)接口)是Motorola公司提出的一種同步串行數(shù)據(jù)傳輸標(biāo)準(zhǔn),在很多器件中被廣泛應(yīng)用。1. 接口SPI接口經(jīng)常被稱為4線串行總線,以主/從
發(fā)表于 02-05 08:49
?2.1w次閱讀
利用DAC8534芯片和2812的SPI接口實現(xiàn)多路DA轉(zhuǎn)換,但是DAC8534的數(shù)據(jù)傳輸是24位的,[8位(地址加通道選擇)+16位(數(shù)據(jù)16位精度)],但是SPI的
發(fā)表于 08-11 20:26
單片機(jī)用于數(shù)據(jù)傳輸的外設(shè)有哪些?原諒在下孤陋寡聞,我所知道的有SPI、I2C,不知還有哪些?誰的數(shù)據(jù)傳輸速度最快?
發(fā)表于 09-02 12:22
數(shù)據(jù)傳輸方式有哪幾種?
發(fā)表于 12-27 06:40
之前介紹了STM32數(shù)據(jù)傳輸的一種方式IIC,這次我將進(jìn)行另外一種數(shù)據(jù)傳輸方式SPI。
發(fā)表于 02-17 06:02
IIC是什么?IIC數(shù)據(jù)傳輸有哪幾種方式呢?AT24C02芯片的數(shù)據(jù)傳輸過程是怎樣的?
發(fā)表于 03-01 06:06
軟驅(qū)的安裝方式/數(shù)據(jù)傳輸率
安裝方式
發(fā)表于 12-26 15:29
?615次閱讀
手機(jī)的網(wǎng)絡(luò)數(shù)據(jù)傳輸方式有哪些? WCDMA全名是WidebandCDMA,中文譯名為“寬帶分碼多工存取
發(fā)表于 12-31 11:20
?4948次閱讀
基于SPI總線的無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計
摘要: 通過基于SPI總線的無線數(shù)據(jù)通信設(shè)備,利用無線數(shù)據(jù)收發(fā)芯片NRF905和51單片機(jī)STC
發(fā)表于 03-13 11:42
?3784次閱讀
數(shù)據(jù)傳輸,數(shù)據(jù)傳輸的工作方式有哪些?
將數(shù)據(jù)從一個地方傳輸到另一個地方的方法多得令人難以置信。
發(fā)表于 03-18 14:41
?6016次閱讀
數(shù)據(jù)傳輸速率是什么意思
數(shù)據(jù)傳輸速率是通過信道每秒可傳輸的數(shù)字信息量的量度。數(shù)據(jù)傳輸速率也稱為吞吐率。數(shù)據(jù)傳輸速率由很
發(fā)表于 03-18 14:45
?4993次閱讀
了解物聯(lián)網(wǎng)相關(guān)的數(shù)據(jù)傳輸及聯(lián)網(wǎng)方式是非常有必要的。
發(fā)表于 06-20 14:12
?4054次閱讀
數(shù)據(jù)傳輸方式是數(shù)據(jù)在信道上傳送所采取的方式。若按數(shù)據(jù)傳輸的順序可以分為并行傳輸和串行
發(fā)表于 03-24 11:04
?2035次閱讀
數(shù)據(jù)傳輸 SPI 的英文全稱為 Serial Peripheral Interface,顧名思義為串行外設(shè)接口。 SPI 是一種同步串行通信接口規(guī)范,主要應(yīng)用于嵌入式系統(tǒng)中的短距離通信。該接口由
發(fā)表于 07-21 10:03
?8761次閱讀
探索SPI單線傳輸模式:時鐘線與數(shù)據(jù)傳輸的簡化之道 在當(dāng)今的嵌入式系統(tǒng)和微控制器通信中,串行外設(shè)接口(SPI)因其高速、全雙工和同步的特點而廣受歡迎。然而,隨著設(shè)備尺寸和復(fù)雜性的不斷減
發(fā)表于 05-28 18:26
?1171次閱讀
評論