chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

兩塊STM32之間SPI通訊進(jìn)行的注意事項

汽車玩家 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2020-04-04 17:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

之前分享過的SPI通訊實例:STM32硬件SPI主從通信實例,是基于一塊STM32的兩個SPI通訊。如果要進(jìn)行兩塊STM32之間的SPI通訊,需要注意一些什么呢?

兩塊STM32之間的SPI通訊平時用的比較少,之前我也沒有用過,網(wǎng)上也查了很多資料,沒有找到現(xiàn)成的,能直接用的例子(做軟件的不就是copy嗎=v=)。

所以只能自己來實現(xiàn)了,本以為與在同一片STM32上做SPI主、從機通信一樣,以為挺簡單的,但是實際做起來還是遇到了不少問題,比如出現(xiàn)數(shù)據(jù)移位、多出了一些數(shù)據(jù)等問題。下面簡單分享一下實現(xiàn)過程:

一、整體框圖及說明

這里使用STM32F429IGT6作為主機,STM32F103ZET6作為從機,都配置為全雙工。本例要實現(xiàn)的功能就是主、從機之間的數(shù)據(jù)互傳。

主機往從機發(fā)送的數(shù)據(jù)為:

兩塊STM32之間SPI通訊進(jìn)行的注意事項

從機往主機發(fā)送的數(shù)據(jù)為:

兩塊STM32之間SPI通訊進(jìn)行的注意事項

二、關(guān)鍵代碼

主機關(guān)鍵代碼:

兩塊STM32之間SPI通訊進(jìn)行的注意事項

從機關(guān)鍵代碼:

兩塊STM32之間SPI通訊進(jìn)行的注意事項

可見,主機與從機的代碼大多都一樣。只是從機多了一步啟動傳輸?shù)牟僮?,這一步很關(guān)鍵,少了這一步傳輸就不正常。這是為了制造主機發(fā)送的同時也要接收到數(shù)據(jù)的條件。這一點參考手冊里也有相關(guān)說明:

兩塊STM32之間SPI通訊進(jìn)行的注意事項

兩塊STM32之間SPI通訊進(jìn)行的注意事項

此處,要營造這樣的條件,必須先啟動從機,然后再啟動主機。只有保證主機發(fā)送的同時有接收到數(shù)據(jù),才能保證其時序的正常,否則可能會產(chǎn)生數(shù)據(jù)錯位,或者會產(chǎn)生多余數(shù)據(jù)等情況。

三、調(diào)試

我們平時在做實際的開發(fā)時,一般很難做到把所有代碼寫完,跑一遍就能成功,都是需要進(jìn)行各個子模塊的調(diào)試,一步一步來,確保各個子模塊都沒有問題之后,整體跑起來自然就比較穩(wěn)定。

一些經(jīng)驗豐富的軟件工程師常會教導(dǎo)一些年輕的軟件工程師:在接到一個開發(fā)任務(wù)之前,先不要急著碼代碼,首先需要明確你這項任務(wù)的需求是什么,把任務(wù)分解成各個模塊,然后在電腦上或紙上畫出整體框圖,確保框圖的正確性之后,再根據(jù)框圖來編寫代碼、調(diào)試。

此處,我們要調(diào)試SPI主從通信,自然也是這樣分模塊進(jìn)行調(diào)試的:

確認(rèn)主機是否能正確發(fā)送數(shù)據(jù)

確認(rèn)從機是否能正確發(fā)送數(shù)據(jù)(返回數(shù)據(jù)給從機)

確認(rèn)從機是否接收到主機發(fā)過來的數(shù)據(jù)

確認(rèn)主機是否接收到從機發(fā)過來的數(shù)據(jù)

若這幾個點明確了,都沒問題之后。就可以明確我們的SPI主、從機的基本通訊沒有問題了,之后就可以進(jìn)行我們的協(xié)議方面處理了(本例中沒有這一部分)。下面分別看一些這幾個點:

1、確認(rèn)主機是否能正確發(fā)送數(shù)據(jù)

方法:使用邏輯分析儀捕捉主機的MOSI、SCK這兩條信號線,查看其波形。實際測得地結(jié)果如下:

兩塊STM32之間SPI通訊進(jìn)行的注意事項

其中,白色為SCK信號線波形,橙色為MOSI信號線波形。顯然,從MOSI波形可以看出其與我們主機發(fā)送的數(shù)據(jù)一致,自然就可以確認(rèn)主機發(fā)送數(shù)據(jù)沒問題了。

此處,細(xì)心的朋友可能會發(fā)現(xiàn)時鐘線波形的兩個數(shù)據(jù)交互處的高電平總是寬一些,這里我們的SPI傳輸數(shù)據(jù)的位數(shù)設(shè)置為8bit,則每一個數(shù)據(jù)對應(yīng)的第8位對應(yīng)的時鐘信號的高電平總會長一些;若我們的SPI傳輸數(shù)據(jù)的位數(shù)配置為16位,則第16位對應(yīng)的時鐘信號的高電平總會長一些。

出現(xiàn)這個現(xiàn)象其實與我們的代碼是有一定關(guān)系的。實際測試中發(fā)現(xiàn)是因為我們用while循環(huán)來做邏輯處理的問題,想辦法把while等待替換為if判斷,就可以改善這個問題。但是考慮到這并不會影響我們的數(shù)據(jù),并且另一方面還有助于我們分析波形,所以使用while。

2、確認(rèn)從機是否能正確發(fā)送數(shù)據(jù)(返回數(shù)據(jù)給從機)

使用邏輯分析儀來捕捉MISO的波形,其波形如下(此處只捕捉了數(shù)據(jù)波形):

兩塊STM32之間SPI通訊進(jìn)行的注意事項

顯然,我們的從機發(fā)送數(shù)據(jù)也是沒問題的。

3、確認(rèn)從機是否接收到主機發(fā)過來的數(shù)據(jù)

這里使用在線調(diào)試的方法檢測從機的接收buf,結(jié)果如下:

兩塊STM32之間SPI通訊進(jìn)行的注意事項

顯然,從機收到的數(shù)據(jù)與主機發(fā)送的數(shù)據(jù)一致,說明從機接收也是沒有問題的。由于手頭里只有一個仿真器,所以也就沒有同時監(jiān)測主機的接收buf,監(jiān)視主機的接收buf與監(jiān)視從機的方法是一樣的。

四、調(diào)試過程需要注意的問題

1、兩塊板子一定要共地。

2、兩塊板子的MOSI與MISO不需要交叉連接。

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

    關(guān)注

    2305

    文章

    11118

    瀏覽量

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

    關(guān)注

    17

    文章

    1865

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    CW32F030在使用中的注意事項有哪些?

    CW32F030在使用中的注意事項有哪些?
    發(fā)表于 11-18 06:20

    信號調(diào)理設(shè)備的接地和環(huán)境適配有哪些注意事項

    信號調(diào)理設(shè)備的接地和環(huán)境適配,核心是“阻斷干擾傳導(dǎo)、適應(yīng)場景特性”—— 接地不當(dāng)會引入電磁干擾,環(huán)境適配不足會導(dǎo)致器件參數(shù)漂移,者都會直接破壞暫態(tài)信號的完整性,讓分辨率提升失效。具體注意事項
    的頭像 發(fā)表于 11-14 16:15 ?3054次閱讀
    信號調(diào)理設(shè)備的接地和環(huán)境適配有哪些<b class='flag-5'>注意事項</b>?

    L083最低功耗是多少,應(yīng)該如何進(jìn)行低功耗設(shè)計?有哪些注意事項

    L083最低功耗是多少,應(yīng)該如何進(jìn)行低功耗設(shè)計?有哪些注意事項
    發(fā)表于 11-12 07:29

    emWin AppWizard 開發(fā)注意事項有哪些?

    emWin AppWizard 開發(fā)注意事項
    發(fā)表于 09-04 06:18

    CYPD5225-96BZXI設(shè)計需要哪些注意事項

    時, TBT4 type-c接上USB外設(shè),主板就不啟動,而拔掉USB外設(shè),主板能正常啟動; 所以想了解下, 1、CYPD5225-96BZXI設(shè)計需要哪些注意事項; 2、CYPD5225-96BZXI
    發(fā)表于 05-23 08:03

    美國Odyssey奧德賽電池充電注意事項全解析

    Odyssey奧德賽電池充電注意事項全解析 奧德賽電池作為高性能的深循環(huán)鉛酸電池,廣泛應(yīng)用于汽車啟動、摩托車、船舶以及備用電源系統(tǒng)中。正確的充電方法不僅能夠延長電池壽命,還能保障其性能穩(wěn)定發(fā)揮
    的頭像 發(fā)表于 05-19 16:31 ?883次閱讀
    美國Odyssey奧德賽電池充電<b class='flag-5'>注意事項</b>全解析

    IGBT器件的防靜電注意事項

    IGBT作為功率半導(dǎo)體器件,對靜電極為敏感。我將從其靜電敏感性原理入手,詳細(xì)闡述使用過程中防靜電的具體注意事項與防護(hù)措施,確保其安全穩(wěn)定運行。
    的頭像 發(fā)表于 05-15 14:55 ?1190次閱讀

    錐齒輪減速機的使用安裝和維護(hù)維修注意事項

    錐齒輪減速機的使用、安裝和維護(hù)維修注意事項涵蓋了多個方面,以下是對這些注意事項的詳細(xì)歸納: 一、使用注意事項 1. 確認(rèn)規(guī)格與設(shè)計相符:在使用減速機前,請先行確認(rèn)購買的規(guī)格與設(shè)計規(guī)格是否相符。 2.
    的頭像 發(fā)表于 04-21 18:13 ?934次閱讀
    錐齒輪減速機的使用安裝和維護(hù)維修<b class='flag-5'>注意事項</b>

    掃描電鏡的日常維護(hù)有哪些注意事項?

    掃描電鏡日常維護(hù)的注意事項
    的頭像 發(fā)表于 03-24 11:38 ?899次閱讀
    掃描電鏡的日常維護(hù)有哪些<b class='flag-5'>注意事項</b>?

    兩塊SRAM分別位于不同的基地址,有什么方法可以使這兩塊區(qū)域SRAM當(dāng)成一使用?

    兩塊SRAM分別位于不同的基地址,有什么方法可以使這兩塊區(qū)域SRAM當(dāng)成一使用
    發(fā)表于 03-07 08:59

    使用兩塊TSW3003EVM電路板連接到同一臺PC時,無法對另一進(jìn)行編程如何解決?

    我在系統(tǒng)中使用了兩塊 TSW3003EVM 電路板。我使用 TI 提供的軟件通過 USB 為兩塊電路板編程。但是,當(dāng)我把兩塊電路板連接到同一臺 PC 時,我只能對其中一電路板編程,
    發(fā)表于 02-17 06:28

    GD32單片機GPIO結(jié)構(gòu)及注意事項

    電子發(fā)燒友網(wǎng)站提供《GD32單片機GPIO結(jié)構(gòu)及注意事項.pdf》資料免費下載
    發(fā)表于 02-07 17:27 ?3次下載
    GD32單片機GPIO結(jié)構(gòu)及<b class='flag-5'>注意事項</b>

    智多晶DDR Controller使用注意事項

    最后一期我們主要介紹智多晶DDR Controller使用時的注意事項。
    的頭像 發(fā)表于 01-24 11:14 ?1333次閱讀
    智多晶DDR Controller使用<b class='flag-5'>注意事項</b>

    AN20-儀表低通濾波器的應(yīng)用注意事項

    電子發(fā)燒友網(wǎng)站提供《AN20-儀表低通濾波器的應(yīng)用注意事項.pdf》資料免費下載
    發(fā)表于 01-12 11:25 ?0次下載
    AN20-儀表低通濾波器的應(yīng)用<b class='flag-5'>注意事項</b>

    多層板埋孔設(shè)計注意事項

    多層板埋孔設(shè)計注意事項
    的頭像 發(fā)表于 12-20 16:06 ?1225次閱讀