日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]最近在研究STM32F4的ADC采樣功能,中間遇到了一些問題,寫下來以備后用。F4和F1有很多庫函數(shù)是不一樣的,在參照F1的教程的時(shí)候,不能直接抄他的實(shí)驗(yàn)代碼,否則會(huì)出錯(cuò)。因?yàn)橐肈MA將ADC轉(zhuǎn)換得到的值快速傳遞到SRAM中

最近在研究STM32F4的ADC采樣功能,中間遇到了一些問題,寫下來以備后用。
F4和F1有很多庫函數(shù)是不一樣的,在參照F1的教程的時(shí)候,不能直接抄他的實(shí)驗(yàn)代碼,否則會(huì)出錯(cuò)。
因?yàn)橐肈MA將ADC轉(zhuǎn)換得到的值快速傳遞到SRAM中,所以就需要對(duì)ADC相關(guān)的DMA進(jìn)行設(shè)置,這一步很重要。在寫ADC1的DMA初始化函數(shù)前,一定要查Reference Manual的DMA request mapping,搞清楚是某一個(gè)具體的peripheral對(duì)應(yīng)的是DMA1還是DMA2,用到的是哪一個(gè)stream和channel。例如這次實(shí)驗(yàn)要用到的外設(shè)ADC1,可以查到,ADC1歸DMA2 Stream0或者Stream4的Channel0管理,不能用其他的。
相關(guān)程序就是設(shè)置ADC相關(guān)的GPIO口,這里提一下,F(xiàn)4里面設(shè)置GPIO為模擬輸入,用到的庫函數(shù)是GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN這與F1是不一樣的。
注意這一條語句


DMA_InitStructure.DMA_PeripheralBaseAddr=(uint32_t)(&ADC1->DR);//ADC地址

在教程中是這樣寫的


#defineADC1_DR_Address((uint32_t)0x4001204C)

DMA_InitStructure.DMA_PeripheralBaseAddr=ADC1_DR_Address;//ADC地址

這個(gè) ADC1_DR_Address是宏定義的,其數(shù)值(基地址)是差參考手冊(cè)的memory map的register boundary addresses得到的(如下圖所示)


STM32F407 單通道ADC采樣,DMA傳輸基地址+ADC_DR的偏置地址,直接用(uint32_t)(&ADC1->DR)這樣很簡潔,也不用去查手冊(cè)了,我覺得這樣比較好用


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉