日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

STM32_ SPI主從通信

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-04-08 10:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天講解“STM32F103SPI主從通信”,原本計劃將這部分內(nèi)容定在后面(第二階段)來講解,滿足一位網(wǎng)友的問題“關(guān)于兩塊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

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

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

一、RCC時鐘配置

該函數(shù)位于在bsp.c文件下面;

使能RCC時鐘:RCC_APB2Periph_SPI1

二、引腳配置

該函數(shù)位于在spi.c文件下面;

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

注意:

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

三、SPI配置

該函數(shù)位于在spi.c文件下面;

對SPI進行配置。

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

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

四、SPI中斷控制器配置

該函數(shù)位于在bsp.c文件下面;

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

五、SPI中斷處理

該函數(shù)位于在stm32f10x_it.c文件下面;

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

六、主函數(shù)應(yīng)用

該函數(shù)位于在main.c文件下面;

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

六、今天的重點提示

A.主從連接方式:

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

B.常見問題

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

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

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

下載方式:長按網(wǎng)站 ->選擇復(fù)制 ->打開

或者復(fù)制網(wǎng)站在電腦上下載也可。

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

    關(guān)注

    2313

    文章

    11195

    瀏覽量

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

    關(guān)注

    17

    文章

    1900

    瀏覽量

    102193
  • 主從通信
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    SPI通信協(xié)議深度解析

    SPI(Serial Peripheral Interface)是一種全雙工同步串行通其核心信號引腳包括:
    的頭像 發(fā)表于 04-22 09:27 ?421次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>通信</b>協(xié)議深度解析

    使用SPI給兩塊板子相互通信,主從設(shè)備該如何選擇呢?

    使用SPI給兩塊板子相互通信,主從設(shè)備該如何選擇呢?
    發(fā)表于 01-20 07:11

    SPI 支持單線半雙工通信模式

    SPI 支持單線半雙工通信模式,在該模式下,主機和從機通過一條雙向數(shù)據(jù)線進行數(shù)據(jù)通信,主機使用 MOSI,從機使用 MISO,未使用的其他 SPI 信號線可供其它功能使用。設(shè)置控制寄存
    發(fā)表于 12-12 07:52

    通信協(xié)議IIC與SPI最全對比分析

    現(xiàn)今,在低端數(shù)字通信應(yīng)用領(lǐng)域,我們隨處可見IIC(Inter-Integrated Circuit)和 SPI(Serial Peripheral Interface)的身影。原因是這兩種通信
    發(fā)表于 12-10 06:04

    SPI的多機通信

    SPI支持多機通信模式。在該模式下,主機的從機選擇 CS 引腳應(yīng)配置為輸入,與其他主機的總線申請信號相連,用于檢測 SPI 總線是否發(fā)生沖突。如果某一主機的從機選擇 CS 引腳被拉為低電平,說明有
    發(fā)表于 12-08 06:47

    SPI、I2C、I2S、UART:通信協(xié)議解釋

    ? ? ? ? 在嵌入式開發(fā)中,最常用的幾種通信接口無非就是SPI、I2C、I2S、UART。名字看起來差不多,但應(yīng)用場景和特性卻大不相同。為什么都叫串行通信,結(jié)構(gòu)卻不一樣?為什么有的能傳音頻,有的
    的頭像 發(fā)表于 11-18 10:53 ?735次閱讀

    RVMCU課堂「15」: 手把手教你玩轉(zhuǎn)RVSTAR—SPI總線通信

    SPI原理簡介 ?SPI是一種主從式的總線通信,通常是“一主一從”或“一主多從”,但如果能保證系統(tǒng)中任意時刻只有一個處于激活狀態(tài)的主設(shè)備,也可以通過時分實現(xiàn)一條總線
    發(fā)表于 10-31 07:00

    AEK-COM-ISOSPI1技術(shù)解析:SPI隔離通信在汽車電子中的應(yīng)用

    加密狗可以通過SPI與SPC5、Stellar和STM32微控制器系列連接。AEK-COM-ISOSPI1用于電池管理系統(tǒng)(BMS)和通過SPI協(xié)議的隔離通信。
    的頭像 發(fā)表于 10-24 15:48 ?1018次閱讀
    AEK-COM-ISOSPI1技術(shù)解析:<b class='flag-5'>SPI</b>隔離<b class='flag-5'>通信</b>在汽車電子中的應(yīng)用

    基于STEVAL-BMS1T的隔離式SPI通信技術(shù)解析與應(yīng)用指南

    STMicroelectronics STEVAL-BMS1T SPI轉(zhuǎn)隔離式SPI加密狗支持將SPI信號轉(zhuǎn)換為隔離式SPI信號,從而將必要的電線數(shù)量從四根減至兩根。ISOSPI協(xié)議提
    的頭像 發(fā)表于 10-16 14:01 ?842次閱讀
    基于STEVAL-BMS1T的隔離式<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>技術(shù)解析與應(yīng)用指南

    spi硬件主從機,從機接收失敗的原因?怎么解決?

    #include \"master_slave.h\" #define MASTER_BUS_NAME\"spi2\" #define
    發(fā)表于 10-10 08:10

    數(shù)字電壓表設(shè)計教程之SPI協(xié)議詳解

    SPI(Serial Peripheral Interface)是串行外設(shè)接口的縮寫,SPI是一種高速、主從模式、全雙工、同步的串行通信總線,由摩托羅拉公司(Motorola)于 20
    的頭像 發(fā)表于 09-06 10:08 ?4644次閱讀
    數(shù)字電壓表設(shè)計教程之<b class='flag-5'>SPI</b>協(xié)議詳解

    SPI通信筆記:基礎(chǔ)+動圖+時序圖+總結(jié),一文吃透!

    SPI現(xiàn)在已經(jīng)成為MCU和外圍設(shè)備之間最常用的通信方式了。它是一種同步、全雙工、主從式的通信接口。工作原理其實很直接:主機產(chǎn)生時鐘信號,從機跟著這個時鐘同步收發(fā)數(shù)據(jù)。允許雙向傳輸,可以
    的頭像 發(fā)表于 07-29 14:15 ?8362次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>通信</b>筆記:基礎(chǔ)+動圖+時序圖+總結(jié),一文吃透!

    無線通信的隱形冠軍:澤耀科技SPI射頻模塊硬核解析

    硬核設(shè)計匠心通信WIRELESSCOMMUNICATION在物聯(lián)網(wǎng)設(shè)備蓬勃發(fā)展的今天,無線通信模塊已成為各類智能硬件的“神經(jīng)末梢”。而其中,基于SPI接口的射頻模塊因其靈活的控制方式和高效的傳輸性能
    的頭像 發(fā)表于 06-24 11:05 ?1818次閱讀
    無線<b class='flag-5'>通信</b>的隱形冠軍:澤耀科技<b class='flag-5'>SPI</b>射頻模塊硬核解析

    適用TI ADS1299器件的ADS129x設(shè)備SPI通信問題調(diào)試步驟教程

    適用TI ADS1299器件的ADS129x設(shè)備SPI通信問題調(diào)試步驟教程
    的頭像 發(fā)表于 06-18 16:19 ?2649次閱讀
    適用TI ADS1299器件的ADS129x設(shè)備<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>問題調(diào)試步驟教程

    第十七章 SPI

    本篇文章介紹了W55MH32的SPI接口,可工作于SPI或I2S模式,支持半 / 全雙工、主從操作,具可編程時鐘極性/相位等特征。闡述了主從模式配置、DMA
    的頭像 發(fā)表于 05-28 17:29 ?1395次閱讀
    第十七章 <b class='flag-5'>SPI</b>
    进贤县| 衡阳县| 仁布县| 福州市| 八宿县| 光山县| 东莞市| 巢湖市| 抚州市| 湖州市| 澎湖县| 会昌县| 宜宾市| 镇安县| 晴隆县| 冀州市| 辽阳市| 常山县| 重庆市| 伊吾县| 安岳县| 凤台县| 邵阳县| 长治县| 南安市| 中宁县| 霍林郭勒市| 泾川县| 兰西县| 英德市| 遂昌县| 临夏县| 阿瓦提县| 博罗县| 靖远县| 康定县| 湟中县| 亳州市| 金坛市| 梁山县| 辽源市|