<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SPI全雙工模式下數據接收異常的一個原因

聚沃科技 ? 2024-01-23 09:31 ? 次閱讀

前面給小伙伴講過串口發送和接收異常的可能原因,今天我們講下SPI全雙工模式下數據接收異常的一個原因。

我們知道,SPI是一主多從的總線結構,主機和哪個從機是通過CS片選來決定的。

wKgZomWvFsKAI3KxAAB38qQEBEM744.png

我們再來看下SPI的框圖:

wKgZomWvFsaAJXPfAADOqvpAng8304.png

除了有發送緩沖區和接受緩沖區外,還有一個移位寄存器,所以當使用SPI發送最后一個字節到發送緩沖區時,倒數第二個字節還在移位寄存器中沒有發出,此時如果應用程序將從機CS拉高的話,就會導致從機失效,從而不會發出正確的數據。

那么如何解決呢?

只需要在拉高CS片選前,調用下面這個語句即可:

while(SET == (spi_i2s_flag_get(SPI0,SPI_FLAG_TRANS)));

這句的意思是等待SPI通訊空閑,對應讀取的標志位是SPI_STAT 寄存器中的bit7位

wKgaomWvFs2AfpfCAAC4GVxLw1I704.png

wKgaomWvFtGAXOiSAABqjjQI80A702.png

當該位為0時,就標志著SPI緩沖區和移位寄存器中都沒有數據了,你就可以放心大膽的控制CS片選腳啦。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6008

    文章

    44087

    瀏覽量

    623142
  • 嵌入式
    +關注

    關注

    5002

    文章

    18414

    瀏覽量

    291578
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1625

    瀏覽量

    89897
收藏 人收藏

    評論

    相關推薦

    請問ESP32S3 SPI怎么配置全雙工模式從機連續傳輸?

    ESP32S3 SPI怎么配置全雙工模式從機連續傳輸?有沒有參考例程???
    發表于 06-05 06:45

    SPI全雙工模式數據接收異常原因#MCU #單片機 #嵌入式開發 #GD32

    單片機mcu
    聚沃科技
    發布于 :2024年01月26日 09:55:44

    全雙工與半雙工的區別 主要是自己學習

    的線序位置上;在半雙工模式,只需接4根線,參照T568B標準,般使用1 、2、3、6 線序位置上的四根線,即:白橙、橙、白綠、綠 四根線;白橙、橙 用于發送數據 ,白綠、綠 用于
    發表于 12-14 20:59

    請問SPI全雙工模式通信中主機與從機之間只接MISO線能夠正常工作嗎?

    我的AD采集芯片與STM32之間通過SPI通信,只需STM以中斷的方式讀取AD采集芯片中的數據,采用的是全雙工模式,但是只接了MISO線和時鐘線,并沒有接MOSI這條線?,F在我有疑問
    發表于 08-13 02:07

    STM32的串口在全雙工模式會出現鎖死問題的現象

    之前曾經寫過篇《關于CubeMX的串口全雙工接收發送鎖死的問題》的文章,討論了STM32的串口在全雙工模式會出現鎖死問題的現象。當時的解
    發表于 08-16 07:41

    如何解決STM32的串口在全雙工模式會出現鎖死問題?

    如何解決STM32的串口在全雙工模式會出現鎖死問題?
    發表于 11-16 09:10

    怎么用雙工模塊去實現類似全雙工模塊的效果呢?

    怎么用雙工模塊去實現類似全雙工模塊的效果呢?來康康這
    發表于 02-14 06:59

    請教SPI的半雙工模式是如何工作的?

    請教SPI的半雙工模式是如何工作的?
    發表于 05-31 06:47

    SPI雙工模式有沒有什么特別的技巧?

    我想知道SPI雙工模式有沒有什么特別的技巧。據我所知,配置是正常完成的,只有 1 行的方向。誰能給我指出某種形式的示例,以半雙工方式設置 SPI,然后通過所述端口
    發表于 01-30 08:06

    api參考說單個iis只能半雙工,全雙工需要兩iis組合,全雙工模式iis使用的引腳是否可以配置成樣呢?

    api參考說單個iis只能半雙工,全雙工需要兩iis組合,這樣全雙工模式iis使用的引腳
    發表于 02-17 07:56

    CH32V103基礎教程50-SPI-全雙工通信,軟件控制NSS模式

    本章教程主要在SPI雙線全雙工模式進行主從收發實驗,并采用軟件控制NSS方式。 1、SPI簡介及相關函數介紹關于SPI主從
    發表于 04-25 16:51

    CH32V103基礎教程51-SPI-全雙工通信,軟件控制NSS模式

    本章教程主要在SPI雙線全雙工模式進行主從收發實驗,并采用軟件控制NSS方式。 1、SPI簡介及相關函數介紹關于SPI主從
    發表于 04-26 16:30

    AT32F4xx SPI使用全雙工模式通訊

    AT32F4xx SPI使用全雙工模式通訊演示AT32F403Axx SPI使用全雙工模式通訊,其余系列的使用方式與此類似。
    發表于 10-27 07:27

    全雙工傳輸,全雙工傳輸原理是什么?

    全雙工傳輸,全雙工傳輸原理是什么? 全雙工模式(Full-duplex Transmissions)是指同時發生在兩個方向上的一種數據傳輸方式。簡單的解釋就是就像電
    發表于 03-17 16:22 ?4509次閱讀

    全雙工模式和半雙工模式的區別

    雙工模式下,HiPER 的所有物理端口都支持全雙工和半雙工模式。
    的頭像 發表于 04-21 09:36 ?1.5w次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>