日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stm32 adc 连续和扫描_技术分享 | STM32多个ADC模块同时采样转换的应用示例

發布時間:2024/9/27 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32 adc 连续和扫描_技术分享 | STM32多个ADC模块同时采样转换的应用示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在STM32家族里,多數系列芯片內含2到3個ADC模塊,有的甚至更多,比方G4系列可以有5個ADC模塊。其中,通道數因不同的系列或型號多少不等,幾個到幾十個的都有。有時,我們可能需要多個ADC模塊同時工作,比方3個ADC模塊同時采樣轉換。這時如果芯片內含有3個ADC模塊,并支持同時采樣轉換就很方便。STM32家族里的STM32F4系列、STM32F7等其它系列都含有3個ADC模塊,并支持同時AD采樣轉換。

這里就3個ADC模塊同時進行采樣轉換應用,做個簡單實現演示,以供有需要的用戶參考。

此時3個ADC模塊會建立主從關系。以STM32F4芯片為例。內部大致框架如下:

采樣轉換時按如下圖示操作,每次對屬于3個AD模塊的3個通道進行AD轉換。如果多組的話,依次掃描進行。

各通道轉換結束時產生DMA請求,DMA按照ADC1、ADC2、ADC3的順序依次將數據取走,然后放到指定的內存空間。

好,大致原理就介紹這么多。更多細節還是請閱讀STM32參考手冊的ADC相關章節。

這里在ADC1/ADC2/ADC3三個模塊各選擇2各通道,它們的通道號及相關輸入連接如下:

【注:ADC模塊的參考電壓也選用VDD.下面實驗基于STM32F407 DISCOVERY板來進行。】

另外,我這里使用STM32的TIM3的更新事件觸發ADC轉換。

01
  • 使用STM32CubeMx圖形化配置工具完成基本配置

1.1??? RCC/SYS等必需配置項目【略】

1.2 ?? 對ADC進行配置。

? 1.2.1 ????? 對ADC1及相關DMA進行配置。

1.3 ?對TIM3進行配置。

對TIM3的配置比較簡單,安排你需要的時基參數,選擇合適的觸發輸出即可。ADC轉換靠它定期觸發。

上面配置中,DMA傳輸中斷默認使能了,至于其它,你根據需要選擇使能。

02基于上面的CubeMx配置生成C代碼工程。03

添加用戶代碼

3.1為DMA傳輸準備一個內存數組,用來存放轉換結果。

__IO uint32_t ADC_Result[6];

3.2 添加啟動ADC3/ADC2/ADC1以及TIM3的相關代碼。

04

編譯、運行、驗證。

結果如下,結果是正確的。到此整個演示過程完畢。

看到這里,是不是覺得很簡單呢。只要你愿意對STM32手冊做認真閱讀把把握相關原理,你也可以輕松實現。不過,或許有人對結果產生了疑問,DMA搬到數組的數據怎么是前面連續3個00,后面連續3個0xfff而不是00,fff,00,fff,00,fff呢?不妨結合上面的介紹和參考手冊自行思考下,相信你可以找到答案。

總結

以上是生活随笔為你收集整理的stm32 adc 连续和扫描_技术分享 | STM32多个ADC模块同时采样转换的应用示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。