哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

使用STM32F4芯片驗證SPI功能的問題分析

茶話MCU ? 來源:茶話MCU ? 2023-12-11 09:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有人使用STM32F4芯片驗證SPI功能。當(dāng)使用片內(nèi)兩個SPI模塊基于中斷方式進(jìn)行收發(fā)時,發(fā)現(xiàn)總是出現(xiàn)接收數(shù)據(jù)丟失的情況,貌似總丟失末尾2個數(shù)據(jù)。代碼使用HAL庫提供的API函數(shù)。這是怎么回事呢?

我拿STM32F407開發(fā)板進(jìn)行驗證測試。使用SPI1做發(fā)送,SPI3做接收,都使用中斷方式。

c695b4fe-9759-11ee-8b88-92fbcf53809c.png

很快重現(xiàn)了問題現(xiàn)象,即發(fā)生接收數(shù)據(jù)丟失的情形。見下圖驗證結(jié)果,發(fā)了8個數(shù)據(jù),只收到6個數(shù)據(jù)。

c6a88070-9759-11ee-8b88-92fbcf53809c.png

現(xiàn)在是同一顆芯片,即同一CPU基于中斷方式完成收發(fā)。懷疑會不會是不同SPI收發(fā)模塊中斷優(yōu)先級的安排不合理導(dǎo)致的問題。如果二者優(yōu)先級一樣的話,這里的發(fā)送中斷往往先于接收中斷的產(chǎn)生,勢必會出現(xiàn)接收不及時的情形。通過對代碼跟蹤調(diào)試,也的確發(fā)現(xiàn)了SPI接收溢出的現(xiàn)象,即接收數(shù)據(jù)提取不及時。

c6bbc234-9759-11ee-8b88-92fbcf53809c.png

這樣分析下來,感覺數(shù)據(jù)丟失應(yīng)該跟通信速率有關(guān),丟失數(shù)據(jù)的多少不應(yīng)該固定。于是,我大幅度提升SPI通信速率再行測試,果真丟失的數(shù)據(jù)更多了。見下圖測試結(jié)果,發(fā)8個數(shù)據(jù)只收到1個數(shù)據(jù)?!厩懊鏈y試時SPI波特率是5.25Mb/s,現(xiàn)在改為21Mb/s了】

c6cd652a-9759-11ee-8b88-92fbcf53809c.png

我將SPI3接收中斷的優(yōu)先級調(diào)得比SPI1發(fā)送中斷的還高,如下圖所示。

c6e43552-9759-11ee-8b88-92fbcf53809c.png

基于重新調(diào)整中斷優(yōu)先級后的代碼再做測試,結(jié)果就完全正常了。

c6fd7378-9759-11ee-8b88-92fbcf53809c.png

當(dāng)然,我們還可以有其它靈活處理的辦法。比方發(fā)送用中斷,接收用DMA,或者發(fā)送用輪訓(xùn),接收用中斷或DMA,或者都用DMA方式也行。

這里的核心問題是中斷優(yōu)先級沒有合理安排好。STM32ARM核中斷的內(nèi)容不多,不過內(nèi)容不多的東西往往意味著使用上更為靈活。好,今天的話題就分享到這里。

審核編輯:湯梓紅

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

    關(guān)注

    17

    文章

    1897

    瀏覽量

    101992
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    918

    瀏覽量

    43865
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6386

    瀏覽量

    120294
  • STM32F4
    +關(guān)注

    關(guān)注

    3

    文章

    204

    瀏覽量

    30264
  • HAL庫
    +關(guān)注

    關(guān)注

    1

    文章

    121

    瀏覽量

    7730

原文標(biāo)題:SPI傳輸時為何丟失2個數(shù)據(jù)?

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    STM32F4 LWIP開發(fā)手冊

    STM32F4 LWIP開發(fā)手冊 STM32F4 教程 STM32F4芯片 pdf
    發(fā)表于 11-26 11:09 ?67次下載

    STM32F4

    STM32F4最小系統(tǒng)及外圍電路原理圖。。。
    發(fā)表于 05-10 17:06 ?32次下載

    STM32F4 EMWIN開發(fā)手冊V3.0

    STM32F4 EMWIN開發(fā)手冊V3.0 STM32F4 EMWIN開發(fā)手冊V3.0
    發(fā)表于 07-25 17:45 ?40次下載

    STM32F4系列簡單簡介

    STM32F4系列簡單簡介
    發(fā)表于 09-29 15:16 ?21次下載
    <b class='flag-5'>STM32F4</b>系列簡單簡介

    STM32F4 簡介

    介紹STM32F4芯片
    發(fā)表于 01-25 15:28 ?23次下載

    使用STM32F4SPI驅(qū)動HLW8112芯片源代碼和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STM32F4SPI驅(qū)動HLW8112芯片源代碼和工程文件免費(fèi)下載。
    發(fā)表于 04-10 08:00 ?240次下載
    使用<b class='flag-5'>STM32F4</b>的<b class='flag-5'>SPI</b>驅(qū)動HLW8112<b class='flag-5'>芯片</b>源代碼和工程文件免費(fèi)下載

    STM32F4內(nèi)部Flash實驗例程

    STM32F4內(nèi)部Flash實驗例程(嵌入式開發(fā)版哪個好)-STM32F4內(nèi)部Flash實驗例程,有需要的可以參考!
    發(fā)表于 07-30 15:58 ?39次下載
    <b class='flag-5'>STM32F4</b>內(nèi)部Flash實驗例程

    STM32F4 SPI-FLASH實驗例程

    STM32F4 SPI-FLASH實驗例程(java的哪個版本用于嵌入式開發(fā))-STM32F4 SPI-FLASH實驗例程,有需要的可以參考!
    發(fā)表于 07-30 16:01 ?23次下載
    <b class='flag-5'>STM32F4</b> <b class='flag-5'>SPI</b>-FLASH實驗例程

    STM32F4 PWM-DAC實驗例程

    STM32F4 PWM-DAC實驗例程(電源技術(shù)是sci嗎)-STM32F4 PWM-DAC實驗例程,有需要的可以參考!
    發(fā)表于 09-16 10:14 ?49次下載
    <b class='flag-5'>STM32F4</b> PWM-DAC實驗例程

    STM32F4開發(fā)板硬件平臺簡介

    文章目錄前言一、ALIENTEK 探索者 STM32F4 開發(fā)板資源初探1.開發(fā)板資源圖2.ALIENTEK 探索者 STM32F4 開發(fā)板板載資源匯總3.ALIENTEK 探索者 STM32F4
    發(fā)表于 11-21 13:51 ?44次下載
    <b class='flag-5'>STM32F4</b>開發(fā)板硬件平臺簡介

    STM32STM32F4時鐘系統(tǒng)

    00. 目錄文章目錄00. 目錄01. STM32F4時鐘系統(tǒng)概述02. STM32F4時鐘系統(tǒng)圖03. STM32F4時鐘初始化配置04. 時鐘配置總結(jié)05. 預(yù)留06. 附錄07. 聲明01.
    發(fā)表于 11-25 20:06 ?46次下載
    【<b class='flag-5'>STM32</b>】<b class='flag-5'>STM32F4</b>時鐘系統(tǒng)

    STM32F4系列標(biāo)準(zhǔn)庫工程模板文件結(jié)構(gòu)分析及標(biāo)準(zhǔn)工程模板分享

    STM32F4系列標(biāo)準(zhǔn)庫工程模板文件結(jié)構(gòu)分析及標(biāo)準(zhǔn)工程模板分享
    發(fā)表于 12-09 13:51 ?28次下載
    <b class='flag-5'>STM32F4</b>系列標(biāo)準(zhǔn)庫工程模板文件結(jié)構(gòu)<b class='flag-5'>分析</b>及標(biāo)準(zhǔn)工程模板分享

    STM32F4 EMWIN開發(fā)手冊

    STM32F4 EMWIN開發(fā)手冊
    發(fā)表于 07-04 14:54 ?24次下載

    STM32F4 FreeRTOS開發(fā)手冊

    STM32F4 FreeRTOS開發(fā)手冊
    發(fā)表于 07-04 14:53 ?77次下載

    淺談STM32F4的時鐘系統(tǒng)

      本文將介紹STM32F4的時鐘系統(tǒng)。
    的頭像 發(fā)表于 04-20 11:47 ?3899次閱讀
    淺談<b class='flag-5'>STM32F4</b>的時鐘系統(tǒng)
    新平| 民和| 城口县| 手游| 淳化县| 奉节县| 济宁市| 衡南县| 文登市| 曲周县| 阳江市| 芜湖市| 华坪县| 崇明县| 鹤庆县| 集安市| 揭西县| 赞皇县| 会同县| 景东| 临海市| 剑河县| 黄浦区| 个旧市| 南通市| 岑巩县| 龙胜| 安达市| 登封市| 阿拉尔市| 涡阳县| 上思县| 弥渡县| 西宁市| 阿坝| 南宫市| 锡林浩特市| 印江| 额尔古纳市| 乐安县| 南雄市|