久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4958|回復(fù): 0
收起左側(cè)

STM32 DMA方式完成AD、DA實(shí)例 模數(shù)轉(zhuǎn)換實(shí)驗(yàn)(DMA滑動(dòng)平均濾波)

[復(fù)制鏈接]
ID:453172 發(fā)表于 2018-12-24 10:17 | 顯示全部樓層 |閱讀模式
STM32的內(nèi)部自帶12位ADC,其特點(diǎn)如下:
(1)12位分辨率,最短時(shí)鐘周期為14個(gè),時(shí)鐘周期可調(diào),分別可以調(diào)整為14、20、26、41、54、68、252,因此當(dāng)時(shí)鐘為14MHz時(shí)候,最快轉(zhuǎn)換時(shí)間為1us;
(2)供電電壓為2.4V到3.6V,注意stm32的最低供電電壓可以是2V,但是使用ADC時(shí)候,必須達(dá)到2.4V以上;
(3)輸入電壓范圍:0<vin< VCC
(4)最小量化單位為:LSB=Vref+/4096mV;
(5)為逐次比較型AD;
處理AD轉(zhuǎn)換的方法有兩個(gè):一個(gè)是常用的中斷,另一個(gè)是DMA,相對(duì)來(lái)說(shuō),DMA模式下的效率要高,所以這里研究DMA下的ADC。
3、實(shí)驗(yàn)?zāi)繕?biāo):通過(guò)ADC1的11通道采集外部電壓,然后又DMA傳送到緩存,然后通過(guò)串口發(fā)到到PC上。
4、實(shí)驗(yàn)程序:


1. 配置ADC等資源
2. 配置時(shí)鐘
3. 參數(shù)配置
點(diǎn)“ADC1”?
Mode: 模式為獨(dú)立模式。
Dataalignment數(shù)據(jù)對(duì)齊:右對(duì)齊
ScanConversionMode:掃描轉(zhuǎn)換模式,如果使用了一個(gè)ADC下的多個(gè)采集通道,需要選擇Enable模式,否則只會(huì)轉(zhuǎn)換設(shè)置的第一個(gè)通道。
ContinuousConversMode連續(xù)轉(zhuǎn)換模式
DiscontinuousConversionMode:不連續(xù)轉(zhuǎn)換模式
NVIC部分開(kāi)啟DMA中斷,關(guān)閉中斷模式的中斷使能。
Memory:勾選此項(xiàng),轉(zhuǎn)換數(shù)據(jù)將存在Memory中,并且地址自加連續(xù)存放。此功能對(duì)某個(gè)通道連續(xù)多次采樣很好用,采樣數(shù)據(jù)會(huì)自動(dòng)填滿一個(gè)數(shù)組,方便軟件濾波。
Mode:選循環(huán)模式,填滿數(shù)組后自動(dòng)從頭刷新。
DataWidth數(shù)據(jù)長(zhǎng)度:如果是12位AD轉(zhuǎn)換,此處選半字。

4.程序?qū)崿F(xiàn)
在STM32CubeMX生成好的程序基礎(chǔ)上。
在main設(shè)置一個(gè)uhADCxConvertedValue2的全局變量數(shù)組。類型為Uint16_t。
在main函數(shù)的初始化區(qū)后,while(1)區(qū)前,添加:
if(HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&uhADCxConvertedValue2,100)!=HAL_OK)Error_Handler();
ADC1啟動(dòng),并開(kāi)始連續(xù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)果會(huì)放在uhADCxConvertedValue2數(shù)組中,大小是100。因?yàn)槭沁B續(xù)轉(zhuǎn)換,所以數(shù)組中存放的是最近100次轉(zhuǎn)換結(jié)果。

5軟件濾波
濾波子函數(shù):可以計(jì)算100個(gè)點(diǎn)的濾波結(jié)果。
此函數(shù)為中值平均滑動(dòng)濾波,當(dāng)然,滑動(dòng)是ADC的DMA自動(dòng)實(shí)現(xiàn)的。
  1. uint16_t ADC_Average(__IOuint16_t*buff,uint16_tnum,uint16_tthreshold)
  2. {
  3. uint32_tsigma=0;
  4. uint16_ti=0,j=0,temp=0;
  5. uint16_ttemp_buff[num];
  6. for(i=0;i<(num-1);i++)
  7.                {
  8. for(j=0;j<(num-1);j++)
  9. {
  10. if(temp_buff[j]<temp_buff[j+1])
  11. {
  12. temp=temp_buff[j];
  13. temp_buff[j]=temp_buff[j+1];
  14. temp_buff[j+1]=temp;
  15. }
  16. }
  17. }
  18. for(i=threshold;i<(num-threshold);i++){
  19. sigma=sigma+buff[i];
  20. }
  21. temp=(uint16_t)(sigma/(num-threshold*2));return(temp);
  22. }
復(fù)制代碼

完整的Word格式文檔51黑下載地址:
實(shí)驗(yàn)8、模數(shù)轉(zhuǎn)換實(shí)驗(yàn)(DMA 滑動(dòng)平均濾波).doc (331.5 KB, 下載次數(shù): 44)


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕久久久 | 中文字幕国产视频 | 免费观看av网站 | 亚洲美女一区 | 午夜免费看片 | 日韩精品毛片 | 日韩成人高清 | 久久久久亚洲精品 | 国产一级一片免费播放放a 免费国产视频 | 国产精品网站在线观看 | 特黄aaaaaaaaa真人毛片 | 91精品在线免费观看 | 日韩一区二区在线播放 | 日韩精品欧美 | 激情五月综合色婷婷一区二区 | 成人三级视频 | 国产aa视频 | av激情小说 | 日韩在线视频免费观看 | 中国黄色一级片 | 91成人国产| 国产伦精品一区二区免费 | 国产精品一区二区三 | 黄色一级免费视频 | 免费av大片| 免费中文字幕日韩欧美 | 操操影院 | 天天插天天操 | 精品视频在线观看 | 青青五月天| 青青草免费在线 | 久草福利在线 | 欧美黑人性猛交 | 伊人久久网站 | 黄色成人av | 一区| 亚洲成人免费网站 | 亚洲免费看片 | 一区二区三区视频在线 | 亚洲精品一区二区三区在线观看 | 91精品国产综合久久久蜜臀九色 |