色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

STM32_ SPI主從通信

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-08 10:54 ? 次閱讀

今天講解“STM32F103SPI主從通信”,原本計劃將這部分內容定在后面(第二階段)來講解,滿足一位網友的問題“關于兩塊MCU的SPI通訊”,所以今天特地提前講解了。

由于昨天講解的是“SPI讀寫Flash”,MCU是作為SPI通信中的主機,今天主要講解SPI通信的從機,我將我測試的主機和從機的代碼分別打包供大家下載測試。

每天提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤。

今天的軟件工程下載地址(360云盤):

主機:https://yunpan.cn/cPIJguDkjntYI訪問密碼 7bb6

從機:https://yunpan.cn/cPIJfZxr7D5Sk訪問密碼 fd5a

STM32F10x的資料可以在我360云盤下載:

https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90

測試原理及現象:主機間隔500ms發送10個字符(0-9),從機開啟SPI中斷接收數據,接收滿10字節數據,置標志位gSPI_FlagOver有效,并變化LED,通過串口打印接收到的數據。

關于“STM32F103SPI通信從機部分”我把重要的幾點在下面分別講述,若不明白,請關注微信公眾號“EmbeddDeveloper”查閱或留言。

一、RCC時鐘配置

該函數位于在bsp.c文件下面;

使能RCC時鐘:RCC_APB2Periph_SPI1

二、引腳配置

該函數位于在spi.c文件下面;

這里是對SPI所使用引腳進行配置。

注意:

SPI作為從機,MOSI作為從機接收而不是MISO,“今天的重點”我還會強調這點。

三、SPI配置

該函數位于在spi.c文件下面;

對SPI進行配置。

配置的每一條語句都有注釋,請看源代碼.

強調一點:SPI_CPOL_Low時鐘空閑為低,這個引腳容易受干擾導致通信故障。

四、SPI中斷控制器配置

該函數位于在bsp.c文件下面;

因為開啟了中斷接收數據,這里必須配置中斷控制器。

五、SPI中斷處理

該函數位于在stm32f10x_it.c文件下面;

文章開始就說明了:接收滿10字節數據,置標志位gSPI_FlagOver有效。該函數就是這個意思。

六、主函數應用

該函數位于在main.c文件下面;

這就是文章開頭“測試原理及現象”的描述,就不多說了。

六、今天的重點提示

A.主從連接方式:

這里對于開始學習的朋友來說,有點不理解(因為基本上都知道串口的通信,主機Tx對應從機Rx),還以為“主機的MOSI”連接的是“從機的MISO”,其實這里是和串口的區別之一(當然還有其他,這里不講解)。具體請看參考手冊。

B.常見問題

之前有寫過關于SPI主從通信的實例。但是,我今天專門找了兩套板子來測試,剛開始,通信始終有問題(從機不停地在接收0x00數據),結果發現兩板子之間沒有共地,找了根線接上,數據沒有不停地接收了。

但新的問題又來了,開始接收的數據正確,一旦出錯了一位,后面接收到的數據都不對了。我是不停的查看代碼,開始始終懷疑代碼有問題,但把代碼該了無數次(不知道好多次)之后,手冊看了幾遍,上網也查了很久,還是一樣的現象,結果,我用示波器測試了一下通信的時鐘(SCK),頻率有幾M, 波形間隔大概只有100ns,我就懷疑問題出在通信的線上,線太長了(估計有四五十厘米),果不然,使用短點的通信線,問題就好了。

說實話,一個不起眼的問題,可能會耗掉你無數的時間,這里我將我走過的彎路告訴大家,希望不要走這條彎路,今后的分享中我也會將一些容易出錯的地方拿到這里講解。

下載方式:長按網站 ->選擇復制 ->打開

或者復制網站在電腦上下載也可。

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

    關注

    2270

    文章

    10923

    瀏覽量

    357083
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1721

    瀏覽量

    91958
  • 主從通信
    +關注

    關注

    0

    文章

    7

    瀏覽量

    3552
收藏 人收藏

    評論

    相關推薦

    如何用ADS1271的SPI接口模式與STM32進行通信?

    現在用ADS1271EVM,該模塊是用兩個DAS1271以菊花鏈式連接的,我打算用STM32F446的SPI來連接該模塊。我查了手冊得知ADS1271進行SPI接口模式配置后,最后在VRVD輸出
    發表于 12-31 08:08

    STM32F407和ADS8684進行SPI通信,寄存器怎么配置?

    通過STM32F407和ADS8684進行SPI通信,閱讀了ADS8684的手冊,配置STM32F407為主,CPOL為0,CPHA為1,這樣對嗎? 配置好后應該先設置ADS8684
    發表于 12-20 06:25

    KeyStone架構串行外設接口(SPI)手冊

    SPI(Serial Peripheral Interface)是一種高速、全雙工、同步的串行通信協議,它允許微控制器與一個或多個外圍設備進行通信。SPI
    發表于 12-16 10:33 ?0次下載

    使用stm32SPI5通信接口與DAC1282通信失敗了怎么解決?

    使用stm32SPI5通信接口與DAC1282通信失敗,如何查看是否寫入寄存器了,我寫程序對reset接口來復位DAC為啥輸出還是啥也沒有
    發表于 12-06 07:31

    DS1302芯片與FPGA之間SPI通信原理

    本文通過以DS1302芯片為基礎,介紹該芯片與FPGA之間SPI通信原理,詳細描述硬件設計原理及FPGA SPI接口驅動設計。
    的頭像 發表于 10-24 14:16 ?569次閱讀
    DS1302芯片與FPGA之間<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>原理

    SPI通信協議的基本概念和工作模式

    SPI(Serial Peripheral Interface)通信協議,即串行外圍設備接口,是一種高速、全雙工、同步通信總線,由摩托羅拉公司提出并廣泛應用。SPI以其高效的數據傳輸能
    的頭像 發表于 09-09 17:04 ?1959次閱讀

    單片機SPI通信實現

    在深入探討單片機(如基于STM32、AVR、PIC等)如何通過SPI(Serial Peripheral Interface)進行通信之前,我們先概述SPI
    的頭像 發表于 09-09 17:00 ?702次閱讀

    探索SPI單線傳輸模式中時鐘線與數據傳輸的簡化

    通信的簡化需求也日益增加。在這種背景下,SPI的單線傳輸模式成為了一個備受關注的解決方案。 SPI協議概述 SPI協議是一種常用的同步串行通信
    的頭像 發表于 05-28 18:26 ?1240次閱讀

    I2C、SPI、UART的通信過程還可以這樣理解

    到目前為止,I2C、SPI和UART等仍然是電子嵌入式設備中最常用的通信協議,本文,我們將剖析這三種協議,讓大家清楚、直觀的了解它們的功能、優點和局限性,并輔以GIF動圖展示。一、IIC協議I2C
    的頭像 發表于 05-23 08:10 ?7478次閱讀
    I2C、<b class='flag-5'>SPI</b>、UART的<b class='flag-5'>通信</b>過程還可以這樣理解

    STM32F405如何配置才能使SPI2和串口3都可以正常使用DMA?

    問題是這樣,使用了兩個CPU,主從通信通過SPI2進行,SPI2配置了DMA模式,兩個CPU的6個串口葉使用DMA模式,當時看手冊發現F405的6個串口是分配在不同的DMA流之上的,但
    發表于 05-13 07:32

    請問STM32F103 I2C通信SPI通信哪種方式更穩定?

    STM32F103這顆料I2C通信SPI通信哪種方式更穩定?
    發表于 03-22 06:24

    stm32的qspi有主從機之分嗎?

    請教一下,stm32的qspi有主從機之分嗎,我看的是stm32wb55系列的手冊,clk只有輸出,是只能配置成主機模式嗎?還是說qspi是不分主從機機的?
    發表于 03-21 08:20

    SPI雙機通信有極低概率丟幀要如何處理?

    SPI主從通信,主從站用的是相同的板子,主站采用定時器觸發中斷發收,從站也采用中斷觸發發收,未使用DMA,可以正常通信收發數據,
    發表于 03-18 06:07

    請問STM32F405RGT6的SPI通信最高時鐘頻率是多少?

    STM32F405RGT6的SPI通信最高時鐘頻率是多少?
    發表于 03-15 08:23

    PSoC6 SPI主從通信異常的原因?

    兩塊PSoC6 BLE Pioneer Kit CY8CKIT-062-BLE 開發板,都燒錄CE22112001 - Low_Level_DMA_SPI_Master工程,每個板子各自短接主從
    發表于 02-18 08:58
    主站蜘蛛池模板: 国产人妻麻豆蜜桃色69 | 男女午夜性爽快免费视频不卡 | 亚洲 欧美无码原创区 | 亚洲伊人精品 | 91久久综合精品国产丝袜长腿 | 久久re热线视频国产 | 久草在线精彩免费视频 | 亚洲人人为我我为人人 | 亚洲欧洲精品A片久久99 | 日日做夜夜欢狠狠免费软件 | 老女老肥熟国产在线视频 | 毛片在线网址 | 特污兔午夜影视院 | 欧洲精品一区二区不卡观看 | 美女的让男人桶爽网站 | 石原莉奈rbd806中文字幕 | 亚洲成人免费 | 九九精品视频一区二区三区 | 99久久99久久精品 | 亚洲视频在线观看地址 | 狠狠狠的在啪线香蕉 | 亚洲最大成人 | 国产久爱青草视频在线观看 | 老色哥网站 | 好男人资源免费观看1 | 亚欧成人毛片一区二区三区四区 | 97碰成视频免费 | 最近日本免费观看MV免费 | 亚洲三级视频 | 色影音先锋av资源网 | adc网址在线观看 | 色爱区综合激情五月综合激情 | 国产人妻人伦精品98 | 色综合99久久久国产AV | 日本理论片和搜子同居的日子2 | 天天爽夜夜爽8888视频精品 | 葵司中文第一次大战黑人 | 久久久久久88色偷偷 | 精品国产免费第一区二区 | 国内精品人妻无码久久久影院蜜桃 | 免费观看美女的网站 |