一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

現(xiàn)在是同一顆芯片,即同一CPU基于中斷方式完成收發(fā)。懷疑會不會是不同SPI收發(fā)模塊中斷優(yōu)先級的安排不合理導致的問題。如果二者優(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ù)丟失應該跟通信速率有關,丟失數(shù)據(jù)的多少不應該固定。于是,我大幅度提升SPI通信速率再行測試,果真丟失的數(shù)據(jù)更多了。見下圖測試結果,發(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)先級后的代碼再做測試,結果就完全正常了。

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

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

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

審核編輯:湯梓紅

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

    關注

    17

    文章

    1804

    瀏覽量

    96000
  • 中斷
    +關注

    關注

    5

    文章

    905

    瀏覽量

    42808
  • 開發(fā)板
    +關注

    關注

    25

    文章

    5682

    瀏覽量

    104793
  • STM32F4
    +關注

    關注

    3

    文章

    203

    瀏覽量

    29051
  • HAL庫
    +關注

    關注

    1

    文章

    121

    瀏覽量

    6946

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32F4 LWIP開發(fā)手冊

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

    STM32F4

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

    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驅動HLW8112芯片源代碼和工程文件免費下載

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

    stm32f4舵機控制代碼

    stm32f4舵機控制代碼資料免費下載。
    發(fā)表于 04-26 09:33 ?70次下載

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

    STM32F4 DAC數(shù)模轉換實驗例程

    STM32F4 DAC數(shù)模轉換實驗例程(現(xiàn)代電源技術試卷西建大)-STM32F4 DAC數(shù)模轉換實驗例程,有需要的可以參考!
    發(fā)表于 09-16 10:18 ?40次下載
    <b class='flag-5'>STM32F4</b> DAC數(shù)模轉換實驗例程

    STM32STM32F4時鐘系統(tǒng)

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

    STM32F4 EMWIN開發(fā)手冊

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

    STM32F4 FreeRTOS開發(fā)手冊

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

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

      本文將介紹STM32F4的時鐘系統(tǒng)。
    的頭像 發(fā)表于 04-20 11:47 ?3128次閱讀
    淺談<b class='flag-5'>STM32F4</b>的時鐘系統(tǒng)