精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

使用STM32F4芯片驗(yàn)證SPI功能的問題分析

茶話MCU ? 來源:茶話MCU ? 2023-12-11 09:20 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    17

    文章

    1669

    瀏覽量

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

    關(guān)注

    5

    文章

    889

    瀏覽量

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

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96174
  • STM32F4
    +關(guān)注

    關(guān)注

    3

    文章

    194

    瀏覽量

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

    關(guān)注

    1

    文章

    114

    瀏覽量

    6032

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32F4 LWIP開發(fā)手冊(cè)

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

    STM32F4

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

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

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

    STM32F4系列簡(jiǎn)單簡(jiǎn)介

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

    STM32F4 簡(jiǎn)介

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

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

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

    stm32f4舵機(jī)控制代碼

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

    STM32F4內(nèi)部Flash實(shí)驗(yàn)例程

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

    STM32F4 SPI-FLASH實(shí)驗(yàn)例程

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

    STM32F4 PWM-DAC實(shí)驗(yàn)例程

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

    STM32F4 DAC數(shù)模轉(zhuǎn)換實(shí)驗(yàn)例程

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

    STM32STM32F4時(shí)鐘系統(tǒng)

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

    STM32F4 EMWIN開發(fā)手冊(cè)

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

    STM32F4 FreeRTOS開發(fā)手冊(cè)

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

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

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