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

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

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

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

STM32_ SPI主從通信

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

掃碼添加小助手

加入工程師交流群

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

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

每天提供下載的“軟件工程”都是在硬件板子上進(jìn)行多次測(cè)試、并保證沒(méi)問(wèn)題才上傳至360云盤(pán)。

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

主機(jī):https://yunpan.cn/cPIJguDkjntYI訪問(wèn)密碼 7bb6

從機(jī):https://yunpan.cn/cPIJfZxr7D5Sk訪問(wèn)密碼 fd5a

STM32F10x的資料可以在我360云盤(pán)下載:

https://yunpan.cn/crBUdUGdYKam2訪問(wèn)密碼 ca90

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

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

一、RCC時(shí)鐘配置

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

使能RCC時(shí)鐘:RCC_APB2Periph_SPI1

二、引腳配置

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

這里是對(duì)SPI所使用引腳進(jìn)行配置。

注意:

SPI作為從機(jī),MOSI作為從機(jī)接收而不是MISO,“今天的重點(diǎn)”我還會(huì)強(qiáng)調(diào)這點(diǎn)。

三、SPI配置

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

對(duì)SPI進(jìn)行配置。

配置的每一條語(yǔ)句都有注釋,請(qǐng)看源代碼.

強(qiáng)調(diào)一點(diǎn):SPI_CPOL_Low時(shí)鐘空閑為低,這個(gè)引腳容易受干擾導(dǎo)致通信故障。

四、SPI中斷控制器配置

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

因?yàn)殚_(kāi)啟了中斷接收數(shù)據(jù),這里必須配置中斷控制器。

五、SPI中斷處理

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

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

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

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

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

六、今天的重點(diǎn)提示

A.主從連接方式:

這里對(duì)于開(kāi)始學(xué)習(xí)的朋友來(lái)說(shuō),有點(diǎn)不理解(因?yàn)榛旧隙贾来诘耐ㄐ牛鳈C(jī)Tx對(duì)應(yīng)從機(jī)Rx),還以為“主機(jī)的MOSI”連接的是“從機(jī)的MISO”,其實(shí)這里是和串口的區(qū)別之一(當(dāng)然還有其他,這里不講解)。具體請(qǐng)看參考手冊(cè)。

B.常見(jiàn)問(wèn)題

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

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

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

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

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

聲明:本文內(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)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2301

    文章

    11073

    瀏覽量

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

    關(guān)注

    17

    文章

    1835

    瀏覽量

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

    關(guān)注

    0

    文章

    7

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

    第十七章 SPI

    本篇文章介紹了W55MH32的SPI接口,可工作于SPI或I2S模式,支持半 / 全雙工、主從操作,具可編程時(shí)鐘極性/相位等特征。闡述了主從模式配置、DMA
    的頭像 發(fā)表于 05-28 17:29 ?782次閱讀
    第十七章 <b class='flag-5'>SPI</b>

    串行通信接口SPI與QSPI的區(qū)別

    在嵌入式系統(tǒng)的世界里,選擇正確的通信技術(shù)可以對(duì)項(xiàng)目的性能和可擴(kuò)展性產(chǎn)生重大影響。讓我們比較兩個(gè)流行的串行通信接口:SPI(串行外設(shè)接口)和QSPI(四路SPI)。
    的頭像 發(fā)表于 04-09 15:24 ?2049次閱讀
    串行<b class='flag-5'>通信</b>接口<b class='flag-5'>SPI</b>與QSPI的區(qū)別

    使用SPI進(jìn)行通信,STM32F4做從機(jī),通信時(shí)數(shù)據(jù)異常怎么解決?

    使用SPI進(jìn)行通信,STM32F4做從機(jī),通信時(shí)數(shù)據(jù)異常,SPI2中SR寄存器會(huì)出現(xiàn)0xc0,0xc1,0x80的異常狀態(tài)值,大概就是BYS
    發(fā)表于 03-14 12:14

    SPI通信總線概述和Verilog實(shí)現(xiàn)

    SPI = Serial Peripheral Interface,是串行外圍設(shè)備接口,是一種高速,全雙工,同步的通信總線。
    的頭像 發(fā)表于 02-07 14:28 ?1740次閱讀
    <b class='flag-5'>SPI</b><b class='flag-5'>通信</b>總線概述和Verilog實(shí)現(xiàn)

    iic協(xié)議與spi協(xié)議的區(qū)別

    I2C協(xié)議與SPI協(xié)議的區(qū)別 1. 通信方式 I2C :是一種多主機(jī)、多從機(jī)的通信協(xié)議,使用兩條線(數(shù)據(jù)線SDA和時(shí)鐘線SCL)進(jìn)行通信。 SPI
    的頭像 發(fā)表于 02-05 11:28 ?4191次閱讀

    如何用ADS1271的SPI接口模式與STM32進(jìn)行通信?

    現(xiàn)在用ADS1271EVM,該模塊是用兩個(gè)DAS1271以菊花鏈?zhǔn)竭B接的,我打算用STM32F446的SPI來(lái)連接該模塊。我查了手冊(cè)得知ADS1271進(jìn)行SPI接口模式配置后,最后在VRVD輸出
    發(fā)表于 12-31 08:08

    STM32F407和ADS8684進(jìn)行SPI通信,寄存器怎么配置?

    通過(guò)STM32F407和ADS8684進(jìn)行SPI通信,閱讀了ADS8684的手冊(cè),配置STM32F407為主,CPOL為0,CPHA為1,這樣對(duì)嗎? 配置好后應(yīng)該先設(shè)置ADS8684
    發(fā)表于 12-20 06:25

    KeyStone架構(gòu)串行外設(shè)接口(SPI)手冊(cè)

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

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

    使用stm32SPI5通信接口與DAC1282通信失敗,如何查看是否寫(xiě)入寄存器了,我寫(xiě)程序?qū)eset接口來(lái)復(fù)位DAC為啥輸出還是啥也沒(méi)有
    發(fā)表于 12-06 07:31

    SPI通信問(wèn)題

    請(qǐng)問(wèn)一下各位大佬我的主控工作頻率是16m 選擇的一塊eeprom標(biāo)的頻率是80m它倆工作頻率不一樣可以通過(guò)spi通信spi的工作頻率是由主設(shè)備決定的還是主設(shè)備必須與從設(shè)備達(dá)到一樣的頻率?
    發(fā)表于 11-22 19:00

    飛凌嵌入式ElfBoard ELF 1板卡-spi編程示例之spi硬件原理

    Slave設(shè)備。 接口 SPI通信原理很簡(jiǎn)單,它以主從方式工作,這種模式通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備,需要至少4根線,事實(shí)上3根也可以(單向傳輸時(shí))。也是所有基于SPI的設(shè)備共
    發(fā)表于 11-05 08:44

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

    本文通過(guò)以DS1302芯片為基礎(chǔ),介紹該芯片與FPGA之間SPI通信原理,詳細(xì)描述硬件設(shè)計(jì)原理及FPGA SPI接口驅(qū)動(dòng)設(shè)計(jì)。
    的頭像 發(fā)表于 10-24 14:16 ?2007次閱讀
    DS1302芯片與FPGA之間<b class='flag-5'>SPI</b><b class='flag-5'>通信</b>原理