99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SPI全雙工模式下數(shù)據(jù)接收異常的一個(gè)原因

聚沃科技 ? 2024-01-23 09:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前面給小伙伴講過(guò)串口發(fā)送和接收異常的可能原因,今天我們講下SPI全雙工模式下數(shù)據(jù)接收異常的一個(gè)原因。

我們知道,SPI是一主多從的總線結(jié)構(gòu),主機(jī)和哪個(gè)從機(jī)是通過(guò)CS片選來(lái)決定的。

wKgZomWvFsKAI3KxAAB38qQEBEM744.png

我們?cè)賮?lái)看下SPI的框圖:

wKgZomWvFsaAJXPfAADOqvpAng8304.png

除了有發(fā)送緩沖區(qū)和接受緩沖區(qū)外,還有一個(gè)移位寄存器,所以當(dāng)使用SPI發(fā)送最后一個(gè)字節(jié)到發(fā)送緩沖區(qū)時(shí),倒數(shù)第二個(gè)字節(jié)還在移位寄存器中沒(méi)有發(fā)出,此時(shí)如果應(yīng)用程序?qū)臋C(jī)CS拉高的話,就會(huì)導(dǎo)致從機(jī)失效,從而不會(huì)發(fā)出正確的數(shù)據(jù)。

那么如何解決呢?

只需要在拉高CS片選前,調(diào)用下面這個(gè)語(yǔ)句即可:

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

這句的意思是等待SPI通訊空閑,對(duì)應(yīng)讀取的標(biāo)志位是SPI_STAT 寄存器中的bit7位

wKgaomWvFs2AfpfCAAC4GVxLw1I704.png

wKgaomWvFtGAXOiSAABqjjQI80A702.png

當(dāng)該位為0時(shí),就標(biāo)志著SPI緩沖區(qū)和移位寄存器中都沒(méi)有數(shù)據(jù)了,你就可以放心大膽的控制CS片選腳啦。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44989

    瀏覽量

    650366
  • 嵌入式
    +關(guān)注

    關(guān)注

    5150

    文章

    19665

    瀏覽量

    317459
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1804

    瀏覽量

    95925
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    請(qǐng)問(wèn)ESP32S3 SPI怎么配置全雙工模式從機(jī)連續(xù)傳輸?

    ESP32S3 SPI怎么配置全雙工模式從機(jī)連續(xù)傳輸?有沒(méi)有參考例程?。?/div>
    發(fā)表于 06-05 06:45

    esp32-s3全雙工需要兩個(gè)iis組合,這樣全雙工模式個(gè)iis使用的引腳是否可以配置成樣呢?

    api參考說(shuō)單個(gè)iis只能半雙工,全雙工需要兩個(gè)iis組合,這樣全雙工模式個(gè)iis使用的引腳
    發(fā)表于 06-19 07:58

    全雙工與半雙工的區(qū)別 主要是自己學(xué)習(xí)

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

    請(qǐng)問(wèn)SPI全雙工模式通信中主機(jī)與從機(jī)之間只接MISO線能夠正常工作嗎?

    我的AD采集芯片與STM32之間通過(guò)SPI通信,只需STM以中斷的方式讀取AD采集芯片中的數(shù)據(jù),采用的是全雙工模式,但是只接了MISO線和時(shí)鐘線,并沒(méi)有接MOSI這條線?,F(xiàn)在我有個(gè)疑問(wèn)
    發(fā)表于 08-13 02:07

    STM32的串口在全雙工模式會(huì)出現(xiàn)鎖死問(wèn)題的現(xiàn)象

    之前曾經(jīng)寫(xiě)過(guò)篇《關(guān)于CubeMX的串口全雙工接收發(fā)送鎖死的問(wèn)題》的文章,討論了STM32的串口在全雙工模式會(huì)出現(xiàn)鎖死問(wèn)題的現(xiàn)象。當(dāng)時(shí)的解
    發(fā)表于 08-16 07:41

    如何解決STM32的串口在全雙工模式會(huì)出現(xiàn)鎖死問(wèn)題?

    如何解決STM32的串口在全雙工模式會(huì)出現(xiàn)鎖死問(wèn)題?
    發(fā)表于 11-16 09:10

    怎么用個(gè)雙工模塊去實(shí)現(xiàn)個(gè)類似全雙工模塊的效果呢?

    怎么用個(gè)雙工模塊去實(shí)現(xiàn)個(gè)類似全雙工模塊的效果呢?來(lái)康康這
    發(fā)表于 02-14 06:59

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

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

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

    本章教程主要在SPI雙線全雙工模式進(jìn)行主從收發(fā)實(shí)驗(yàn),并采用軟件控制NSS方式。 1、SPI簡(jiǎn)介及相關(guān)函數(shù)介紹關(guān)于SPI主從
    發(fā)表于 04-25 16:51

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

    本章教程主要在SPI雙線全雙工模式進(jìn)行主從收發(fā)實(shí)驗(yàn),并采用軟件控制NSS方式。 1、SPI簡(jiǎn)介及相關(guān)函數(shù)介紹關(guān)于SPI主從
    發(fā)表于 04-26 16:30

    AT32F4xx SPI使用全雙工模式通訊

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

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

    全雙工傳輸,全雙工傳輸原理是什么? 全雙工模式(Full-duplex Transmissions)是指同時(shí)發(fā)生在兩個(gè)方向上的一種數(shù)據(jù)傳輸
    發(fā)表于 03-17 16:22 ?4695次閱讀

    全雙工模式和半雙工模式的區(qū)別

    雙工模式,HiPER 的所有物理端口都支持全雙工和半雙工模式。
    的頭像 發(fā)表于 04-21 09:36 ?1.6w次閱讀

    雙工全雙工通信模式的比較

    。 首先,半雙工通信模式是指通信雙方之間交換信息的能力僅有方,無(wú)法同時(shí)進(jìn)行發(fā)送和接收操作。而全雙工通信
    的頭像 發(fā)表于 01-09 14:00 ?2384次閱讀