在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

兩塊STM32之間SPI通訊進行的注意事項

汽車玩家 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2020-04-04 17:24 ? 次閱讀

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

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

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

一、整體框圖及說明

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

主機往從機發送的數據為:

兩塊STM32之間SPI通訊進行的注意事項

從機往主機發送的數據為:

兩塊STM32之間SPI通訊進行的注意事項

二、關鍵代碼

主機關鍵代碼:

兩塊STM32之間SPI通訊進行的注意事項

從機關鍵代碼:

兩塊STM32之間SPI通訊進行的注意事項

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

兩塊STM32之間SPI通訊進行的注意事項

兩塊STM32之間SPI通訊進行的注意事項

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

三、調試

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

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

此處,我們要調試SPI主從通信,自然也是這樣分模塊進行調試的:

確認主機是否能正確發送數據

確認從機是否能正確發送數據(返回數據給從機)

確認從機是否接收到主機發過來的數據

確認主機是否接收到從機發過來的數據

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

1、確認主機是否能正確發送數據

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

兩塊STM32之間SPI通訊進行的注意事項

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

此處,細心的朋友可能會發現時鐘線波形的兩個數據交互處的高電平總是寬一些,這里我們的SPI傳輸數據的位數設置為8bit,則每一個數據對應的第8位對應的時鐘信號的高電平總會長一些;若我們的SPI傳輸數據的位數配置為16位,則第16位對應的時鐘信號的高電平總會長一些。

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

2、確認從機是否能正確發送數據(返回數據給從機)

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

兩塊STM32之間SPI通訊進行的注意事項

顯然,我們的從機發送數據也是沒問題的。

3、確認從機是否接收到主機發過來的數據

這里使用在線調試的方法檢測從機的接收buf,結果如下:

兩塊STM32之間SPI通訊進行的注意事項

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

四、調試過程需要注意的問題

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

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

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

    關注

    2291

    文章

    11019

    瀏覽量

    363032
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1788

    瀏覽量

    95026
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    掃描電鏡的日常維護有哪些注意事項

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

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

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

    智多晶DDR Controller使用注意事項

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

    多層板埋孔設計注意事項

    多層板埋孔設計注意事項
    的頭像 發表于 12-20 16:06 ?748次閱讀

    PCBA生產注意事項

    ? ?PCBA生產注意事項。 長按識別二維碼關注[現代電子裝聯工藝技術]訂閱號,開啟我們共同的學習之旅 end
    的頭像 發表于 11-15 17:04 ?807次閱讀
    PCBA生產<b class='flag-5'>注意事項</b>

    脈沖式充電器的使用注意事項

    脈沖式充電器的使用注意事項主要包括以下幾個方面: 一、安全注意事項 用電安全 :在充電過程中,應始終保持警惕,注意用電安全,避免觸電和短路等危險情況的發生。 防火防災 :避免在易燃易爆物品附近
    的頭像 發表于 09-26 16:05 ?2312次閱讀

    繞線電感定制的注意事項

    電子發燒友網站提供《繞線電感定制的注意事項.docx》資料免費下載
    發表于 09-20 11:24 ?4次下載

    對電源模塊進行焊接的注意事項

    電子發燒友網站提供《對電源模塊進行焊接的注意事項.pdf》資料免費下載
    發表于 09-20 11:07 ?0次下載
    對電源模塊<b class='flag-5'>進行</b>焊接的<b class='flag-5'>注意事項</b>

    profinet網關的接線步驟和注意事項

    Profinet網關的接線過程可以根據具體的應用場景和設備型號有所不同,但一般可以按照以下步驟進行,以下是一個典型的接線步驟和注意事項
    的頭像 發表于 09-18 11:53 ?1514次閱讀

    如何檢測INA118的好壞?INA118在使用中還有哪些注意事項

    我是個剛剛接觸模擬電路的小白,最近在嘗試做一個微安級恒流源出來。方案使用了INA118作為差分放大器,但是從中發買的三芯片,有兩塊輸出的電壓始終小于輸入電壓;而第三雖然能夠隨著Rg的變動而變動
    發表于 09-18 06:41

    請問opa637設計注意事項是什么?

    我想用做高輸入阻抗電路前級同相比例。本來用opa627,但帶寬不夠,換用opa637(目前手頭僅有此款可選),發現產生了自激。。。(前級放大2倍)請問opa637設計注意事項是什么,該如何改進。本人是學生,各位大神見笑了。。。
    發表于 09-12 06:59

    使用環形接線片熱敏電阻進行散熱器監測的設計注意事項

    電子發燒友網站提供《使用環形接線片熱敏電阻進行散熱器監測的設計注意事項.pdf》資料免費下載
    發表于 09-05 10:54 ?0次下載
    使用環形接線片熱敏電阻<b class='flag-5'>進行</b>散熱器監測的設計<b class='flag-5'>注意事項</b>

    共模電感定制的注意事項

    電子發燒友網站提供《共模電感定制的注意事項.docx》資料免費下載
    發表于 09-04 11:47 ?0次下載

    LiFePO4設計注意事項

    電子發燒友網站提供《LiFePO4設計注意事項.pdf》資料免費下載
    發表于 09-03 09:24 ?0次下載
    LiFePO4設計<b class='flag-5'>注意事項</b>

    電動機控制元件的安裝與注意事項

    電動機控制元件作為電動機運行的核心組成部分,其安裝質量直接影響電動機的性能、安全性和使用壽命。因此,對電動機控制元件的安裝過程進行嚴格把控,并遵循相應的注意事項,對于保障電動機的穩定運行具有重要意義。本文將從電動機控制元件的安裝步驟、安裝要點及
    的頭像 發表于 06-28 18:21 ?1838次閱讀
    主站蜘蛛池模板: 国产小视频免费看 | 中文字幕视频二区 | 朋友夫妇和交换性bd高清 | 免费看啪啪的网站 | 双性受粗大撑开白浊 | 日韩亚洲人成网站在线播放 | 天天做天天爱天天爽综合区 | 日本国产视频 | 美女视频黄a视频免费全过程 | 成年免费大片黄在线观看免费 | 美女网站黄页 | 天堂视频在线免费观看 | bt在线天堂 | 热久久最新地址 | 手机看片1024手机在线观看 | 丁香婷婷亚洲 | 久久在草 | 狼人久草 | 最近高清免费观看视频大全 | 色一欲一性一乱一区二区三区 | 国内精品一级毛片免费看 | 天堂最新版在线地址 | 久久久久国产一级毛片高清板 | 妖精视频永久在线入口 | 午夜小网站 | 我被黑人巨大开嫩苞在线观看 | 91p0rn永久备用地址二 | 一级特黄aa毛片免费观看 | 痴女在线播放免费视频 | 奇米影视第四色7777 | 国产一级爱c片免费播放 | 色播基地| 人人草人人| 性欧美日本 | 午夜精品视频在线观看 | 91md天美精东蜜桃传媒在线 | 欧美性色xo影院永久禁欲 | 午夜理伦片免费 | 国产精品高清久久久久久久 | 在线观看精品国产入口 | 久久久久久青草大香综合精品 |