色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

CubeMX配置ADC實(shí)現(xiàn)幾種方式AD轉(zhuǎn)換

CHANBAEK ? 來(lái)源:博客園-lzh666 ? 作者:博客園-lzh666 ? 2023-02-15 14:02 ? 次閱讀

整理CubeMX配置ADC實(shí)現(xiàn)幾種方式AD轉(zhuǎn)換

(注 : 以STM32F429為例)

1. 輪詢方式

HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc); //輪詢模式,需放在循環(huán)中不斷開(kāi)啟
uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc)       //獲取轉(zhuǎn)換結(jié)果
HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout)   /* 此函數(shù)只用于輪詢模式,用于等待轉(zhuǎn)換完成 */
HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc); //停止轉(zhuǎn)換

(1)配置CumeMX,如下圖,選擇規(guī)則通道,設(shè)置好AD轉(zhuǎn)換的模式,不掃描,連續(xù)轉(zhuǎn)換。

(2)編程實(shí)現(xiàn)

** 2. 中斷方式**

HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc);//中斷模式
 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc);
void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc);//中斷

(1)配置CubuMX,在輪詢的基礎(chǔ)上,把中斷勾選中,如圖:

(2)編程實(shí)現(xiàn):

編寫(xiě)中斷回調(diào)函數(shù),在里面設(shè)置一個(gè)標(biāo)志位。

主循環(huán)中判斷此標(biāo)志位,注意需要調(diào)用 HAL_ADC_Start_IT。

3、DMA方式多通道轉(zhuǎn)換

HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length);//DMA模式
HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc);

(1)CubeMX配置,勾選多個(gè)通道,然后配置ADC,使能連續(xù)轉(zhuǎn)換和掃描模式,使能DMA請(qǐng)求,配置Rank,如下圖:

(2)編程實(shí)現(xiàn):

注: 如果沒(méi)有轉(zhuǎn)換,要注意時(shí)鐘問(wèn)題。

  1. 定時(shí)器觸發(fā)+ADC中斷實(shí)現(xiàn)單通道AD采集

(1)首先要了解,ADC要好幾種觸發(fā)方式,如下,這里我采用TIM8的事件更新來(lái)觸發(fā)AD轉(zhuǎn)換。

#define ADC_EXTERNALTRIGCONV_T1_CC1    0x00000000U
#define ADC_EXTERNALTRIGCONV_T1_CC2    ((uint32_t)ADC_CR2_EXTSEL_0)
#define ADC_EXTERNALTRIGCONV_T1_CC3    ((uint32_t)ADC_CR2_EXTSEL_1)
#define ADC_EXTERNALTRIGCONV_T2_CC2    ((uint32_t)(ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0))
#define ADC_EXTERNALTRIGCONV_T2_CC3    ((uint32_t)ADC_CR2_EXTSEL_2)
#define ADC_EXTERNALTRIGCONV_T2_CC4    ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_0))
#define ADC_EXTERNALTRIGCONV_T2_TRGO   ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1))
#define ADC_EXTERNALTRIGCONV_T3_CC1    ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0))
#define ADC_EXTERNALTRIGCONV_T3_TRGO   ((uint32_t)ADC_CR2_EXTSEL_3)
#define ADC_EXTERNALTRIGCONV_T4_CC4    ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_0))
#define ADC_EXTERNALTRIGCONV_T5_CC1    ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_1))
#define ADC_EXTERNALTRIGCONV_T5_CC2    ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0))
#define ADC_EXTERNALTRIGCONV_T5_CC3    ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_2))
#define ADC_EXTERNALTRIGCONV_T8_CC1    ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_0))
#define ADC_EXTERNALTRIGCONV_T8_TRGO   ((uint32_t)(ADC_CR2_EXTSEL_3 | ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1))
#define ADC_EXTERNALTRIGCONV_Ext_IT11  ((uint32_t)ADC_CR2_EXTSEL)
#define ADC_SOFTWARE_START             ((uint32_t)ADC_CR2_EXTSEL + 1U)

(2)CubeMX配置TIM8與ADC1:

TIM8配置為1Hz,即1S觸發(fā)一次AD轉(zhuǎn)換。

ADC1配置如下:別忘了開(kāi)啟中斷

(3)代碼實(shí)現(xiàn):實(shí)現(xiàn)的效果是1S打印一次AD轉(zhuǎn)換的結(jié)果

1 //首先調(diào)用
2     HAL_ADC_Start_IT(&hadc1);
3     HAL_TIM_Base_Start(&htim8); 
4 
5 //編寫(xiě)AD轉(zhuǎn)換完成處理函數(shù)
6 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* AdcHandle)
7 {
8     printf("%d\\r\\n",HAL_ADC_GetValue(&hadc1));
9 }
聲明:本文內(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)投訴
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6533

    瀏覽量

    545436
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10923

    瀏覽量

    357076
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    566

    瀏覽量

    100836
  • AD轉(zhuǎn)換
    +關(guān)注

    關(guān)注

    3

    文章

    168

    瀏覽量

    45355
  • STM32F429
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    10756
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    想在PWM的中點(diǎn)觸發(fā)ADC采樣,使用Cubemx配置一直實(shí)現(xiàn)不了,為什么?

    您好! 我現(xiàn)在遇到個(gè)問(wèn)題,就是想在PWM的中點(diǎn)觸發(fā)ADC采樣,使用Cubemx配置一直實(shí)現(xiàn)不了,還請(qǐng)大神指點(diǎn)
    發(fā)表于 06-03 07:47

    轉(zhuǎn):STM32CubeMX系列教程7:模數(shù)轉(zhuǎn)換(ADC)

    本章通過(guò)兩個(gè)例程介紹STM32的模數(shù)轉(zhuǎn)換器(ADC),第一個(gè)通過(guò)ADC采集內(nèi)部溫度傳感器通道電壓,然后得出MCU內(nèi)部溫度。第二個(gè)通過(guò)DMA的方式采集兩個(gè)
    發(fā)表于 07-02 17:03

    STM32CubeMX ADC規(guī)則通道輪詢轉(zhuǎn)換

    1.打開(kāi)STM32CubeMX建立工程,(這里只介紹ADC配置,其他的不作介紹)。2.ADC3的通道配置
    發(fā)表于 07-04 07:58

    STM32CubeMX配置ADC模擬看門(mén)狗實(shí)現(xiàn)掉電保存——基于(STM32G070+STM32CubeMX+HAL庫(kù)+ADC模擬看門(mén)狗) 精選資料分享

    實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)STM32CubeMX進(jìn)行簡(jiǎn)單配置生成HAL庫(kù)實(shí)現(xiàn)ADC模擬看門(mén)狗,以達(dá)到單片機(jī)掉電保存Flash。一、STM32CubeMX
    發(fā)表于 08-02 06:05

    通過(guò)CubeMx實(shí)現(xiàn)ADC多通道掃描采集DMA方式

    項(xiàng)目簡(jiǎn)介任務(wù):通過(guò)CubeMx實(shí)現(xiàn)ADC多通道掃描采集DMA方式(無(wú)中斷)采集內(nèi)部溫度傳感器的溫度通道:采集A0、A1、A2、B0、B1端口電壓,采集內(nèi)部溫度傳感器通道16、內(nèi)部電壓通
    發(fā)表于 08-11 08:14

    STM32 HAL庫(kù) CUBEMX配置 ADC采集 精選資料分享

    提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔文章目錄STM32 HAL庫(kù) CUBEMX配置 ADC采集軟硬件型號(hào)1.單通道不定時(shí)任意時(shí)刻采集信號(hào)CUBEMX
    發(fā)表于 08-11 07:46

    如何對(duì)STM32cubemxADC進(jìn)行配置

    DMA的中斷方式有哪幾種呢?如何對(duì)STM32cubemxADC進(jìn)行配置呢?
    發(fā)表于 12-01 07:39

    如何使用STM32CubeMx配置ADC

    如何使用STM32CubeMx配置ADC
    發(fā)表于 02-09 06:31

    CubeMX配置ADC出錯(cuò)請(qǐng)大神指教

    將工作解決方案從 STM32L031 移植到 STM32G0B1 我嘗試在 CubeMX配置 ADC。這是一個(gè)非常簡(jiǎn)單、典型的設(shè)置。3 個(gè)通道通過(guò) DMA 以“一次性”模式轉(zhuǎn)換,由
    發(fā)表于 12-16 08:02

    STM32CUBEMX配置教程(十二)STM32的定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA)

    STM32CUBEMX配置教程(十二)STM32的定時(shí)器觸發(fā)的固定頻率ADC采樣(使用DMA)
    發(fā)表于 11-24 13:51 ?85次下載
    STM32<b class='flag-5'>CUBEMX</b><b class='flag-5'>配置</b>教程(十二)STM32的定時(shí)器觸發(fā)的固定頻率<b class='flag-5'>ADC</b>采樣(使用DMA)

    STM32CubeMX配置ADC模擬看門(mén)狗實(shí)現(xiàn)掉電保存——基于(STM32G070+STM32CubeMX+HAL庫(kù)+ADC模擬看門(mén)狗)

    實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)STM32CubeMX進(jìn)行簡(jiǎn)單配置生成HAL庫(kù)實(shí)現(xiàn)ADC模擬看門(mén)狗,以達(dá)到單片機(jī)掉電保存Flash。一、STM32CubeMX
    發(fā)表于 12-03 09:36 ?10次下載
    STM32<b class='flag-5'>CubeMX</b><b class='flag-5'>配置</b><b class='flag-5'>ADC</b>模擬看門(mén)狗<b class='flag-5'>實(shí)現(xiàn)</b>掉電保存——基于(STM32G070+STM32<b class='flag-5'>CubeMX</b>+HAL庫(kù)+<b class='flag-5'>ADC</b>模擬看門(mén)狗)

    2.使用cubemx配置stm32(二)__核心配置

    文章目錄使用cubemx配置stm32(二)__核心配置cubemx工程搭建實(shí)現(xiàn)單片機(jī)點(diǎn)燈程序CubeM
    發(fā)表于 12-27 18:48 ?0次下載
    2.使用<b class='flag-5'>cubemx</b><b class='flag-5'>配置</b>stm32(二)__核心<b class='flag-5'>配置</b>

    STM32 HAL庫(kù) CUBEMX配置 ADC采集

    提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔文章目錄STM32 HAL庫(kù) CUBEMX配置 ADC采集軟硬件型號(hào)1.單通道不定時(shí)任意時(shí)刻采集信號(hào)CUBEMX
    發(fā)表于 12-27 18:57 ?25次下載
    STM32 HAL庫(kù) <b class='flag-5'>CUBEMX</b><b class='flag-5'>配置</b> <b class='flag-5'>ADC</b>采集

    STM32 HAL庫(kù) CubeMX教程(七)ADC電壓采集串口輸出

    STM32 HAL庫(kù) CubeMX教程(七)ADC電壓采集ADC簡(jiǎn)介CubeMX配置ADC初始化
    發(fā)表于 01-12 20:24 ?45次下載
    STM32 HAL庫(kù) <b class='flag-5'>CubeMX</b>教程(七)<b class='flag-5'>ADC</b>電壓采集串口輸出

    CubeMX配置RTC實(shí)現(xiàn)日歷和鬧鐘實(shí)驗(yàn)

    CubeMX配置RTC實(shí)現(xiàn)日歷和鬧鐘實(shí)驗(yàn)
    的頭像 發(fā)表于 02-15 14:05 ?1972次閱讀
    <b class='flag-5'>CubeMX</b><b class='flag-5'>配置</b>RTC<b class='flag-5'>實(shí)現(xiàn)</b>日歷和鬧鐘實(shí)驗(yàn)
    主站蜘蛛池模板: 久久伊人中文字幕有码 | 国外成人电台 | 一品道门免费高清视频 | 扒开双腿疯进出爽爽爽动态图 | 国产精品无码亚洲精品 | 麻豆天美国产一区在线播放 | 亚洲看片无码免费视频 | 嫩草欧美曰韩国产大片 | 99热热在线精品久久 | 国产精品麻豆a啊在线观看 国产精品麻豆AV | 久久人妻少妇嫩草AV蜜桃99 | 亚洲黄色在线视频 | 男同志video最新猛男 | 骚妇BB双飞插 | 高清bblxx手机在线观看 | 在线色av| 寂寞护士中文字幕 mp4 | 嫩草影院在线观看精品 | 伊人久久综合谁合综合久久 | 日韩伦理电影秋霞影院 | 把腿张开再深点好爽宝贝动态图 | 新金梅瓶玉蒲团性奴3 | 在线不卡日本v二区到六区 在线不卡日本v二区 | 久久精品无码一区二区日韩av | 日韩内射美女人妻一区二区三区 | 在线观看国产高清免费不卡 | 国产99网站 | 国产Av男人的天堂精品良久 | 99国产精品偷窥熟女精品视频 | 亚洲成人99| 国产精品A久久久久久久久 国产精品A久久777777 | 大香伊蕉在人线国产最新 | 精品一区二区三区色花堂 | 电影果冻传媒在线播放 | 一久久| 黄子佼81岁父亲现状曝光 | www.av一区| 嫩草AV久久伊人妇女 | 加勒比一本之道高清视频在线观看 | 国产精品九九久久 | 45分钟做受片免费观看 |