




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
#181132183184181132183184135IS61871881891901911921931941951961971981992002012022032042Q5戸第通道按順.字循環(huán)轉(zhuǎn)換,AD匚值也按順.字存放在ADC_V遼弱數(shù)組L中叮voidGet.ADCAverag皂V曰丄口亡(void}El{__for//for(j=Q;j<K;j++)sura[j]+=ABC_VdlBaf[i*N4-j];"衣取各個通道AD匚值總和for(i=3;i<M;i++7ADCValje[i]=stjit.[1]/M;//計鼻平均值^elsevoidGetADCAveraaeV^lae(void)El{--'ain七32_tsun;■aint16t.i;forU=^;i<M;i44)suir.+=ADC_Va13jf[i];ADCValae=sunL/N;//計算"_hL#endif/*USERCODEEND丄*/【代碼】:/*USERCODEBEGIN1*/#ifN>1/*多通道按順序循環(huán)轉(zhuǎn)換,ADC值也按順序存放在ADC_Value數(shù)組中*/voidGet_ADC_AverageValue(void){uint32_tsum[N]={0};uint16_ti,j;for(i=0;i<M;i++)//sum[0]對應(yīng)通道0,sum[1]對應(yīng)通道1for(j=0;j<N;j++)sum[j]+=ADC_ValBuf[i*N+j];〃獲取各個通道ADC值總和for(i=0;i<N;i++)ADC_Value[i]=sum[i]/M;〃計算平均值}#elsevoidGet_ADC_AverageValue(void){uint32_tsum;uint16_ti;for(i=0;i<M;i++)sum+=ADC_ValBuf[i];ADC_Value=sum/N;〃計算平均值
#endif/*USERCODEEND1*/(3)最后我們就可以編寫main函數(shù)了Length變量是數(shù)據(jù)的個數(shù),所以直接通過sizeof(ADC_ValBuf)/2來計算得出。首先,我們要在main函數(shù)開頭的初始化部分調(diào)用ADCDMA啟動函數(shù),HAL_ADC_Start_DMA()函數(shù)中HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&ADC_ValBuf,sizeof(ADC_ValBuf)/2);92939-99596579El92939-99596579El朋100101102MX_GFIC_IniL():Hl<2DMA_Init(};田匚ADCZ_工rdu(門I<K_U5JLRTl_UART_In1r(J://EX_DM?L_Iniit(?;/*USERCODEBEGI32*/H3XADCStartDfcQfihadc丄『(unit32VaiBu±rsizeof(ADCVaiBu±|./2J;DWk/*USERCDDEE3D2檸/*USERCDDEE3D2檸.103JL"105.106當(dāng).103JL"105.106當(dāng)/*U5ERCODE3E3IETWHILE*/107.109110111112113.1141S.119.12024A126127128129130131107.109110111112113.1141S.119.12024A126127128129130131132133134135136137.138-139140141ido-/'■USER3ODEZNDWHILE/*■USERCODEBEGIN3*/if(EtccFlag"-"!}RecFla^O;Get_ADC_AverageVa1he();foz7i=37i<sizeof(ADC¥刊丄血£卜Z2;i++}if(i>^Aii%E=OJtAJU曲.(r,\n"打印出每個通這^衣采祥的數(shù)值prinut(rr^dadcvaiBur[i]);printf("XnXn"};rrvn-.f(”計算平均數(shù)片各通這的ADC<為:z:fox(i=3;i<5;swiu土(丄打印出計算平覽數(shù)后每個通道的AD匚值case0:print±(nADC_Channel0VaL-je:%d\n11fADC_Valae[1]|;break;LWU匸1iprintf(TIADCLCTiann^L1Vai-j&:rADCVaL^e:i:|;casecasecase/*USERCODEbzeakp2;printf("ADClt-xeak;3:printf(nADClbreak;4:printf(r,ADClbreak?END3*/ChannelCtiannelChannel-1Val-jc;AECYalac[1]|;Value:%d\n,T,ADCValue[i]|;Value:%d\n11,ADCValue[ij?:【代碼】:while(1){/*USERCODEENDWHILE*//*USERCODEBEGIN3*/if(RecFlag==1){RecFlag=0;Get_ADC_AverageValue();for(i=0;i<sizeof(ADC_ValBuf)/2;i++){if(i>4&&i%5==0)printf("\n");//打印出每個通道20次采樣的數(shù)值printf("%d",ADC_ValBuf[i]);}printf("\n\n");printf("計算平均數(shù)后各通道的ADC值為:\n");for(i=0;i<5;i++){switch(i)//打印出計算平均數(shù)后每個通道的ADC值{case0:printf("ADC1Channel0Value:%d\n",ADC_Value[i]);break;case1:printf("ADC1Channel1Value:%d\n",ADC_Value[i]);break;case2:printf("ADC1Channel4Value:%d\n",ADC_Value[i]);break;case3:printf("ADC1Channel5Value:%d\n",ADC_Value[i]);break;case4:printf("ADC1Channel6Value:%d\n",ADC_Value[i]);break;}}}}/*USERCODEEND3*/}到這里,我們在cubemx生成的工程文件中增加這些代碼,就可以實現(xiàn)了ADC多通道采樣。其中比較關(guān)鍵的是:ADC多通道采樣需要啟用掃描模式并啟用DMA接收ADC值(很重要),中斷方式?jīng)]法在多通道時實現(xiàn)ADC值接收。(4)結(jié)果測試首先,我們把通道0接到GND,把通道4和通道6接到3.3V,通道1和通道5不接入電壓(懸空),然后用串口調(diào)試助手給單片機發(fā)送一個數(shù)據(jù),按照設(shè)計的代碼,程序?qū)⑤敵霾蓸拥腁DC數(shù)據(jù)。我們可以看到,通道0,20次采樣結(jié)果都為0;通道1,5顯示浮空時的采樣數(shù)據(jù);通道4,6數(shù)值都在4044左右。Iftr.SSCOMV5.13.1口餛堀截?fù)?jù)潟試器件者:大1FT丁2頭6O5Edq“,-□X週腸口串口設(shè)置顯示發(fā)送冨字符串小工具誓助聯(lián)莖作者止PCB打祥降至每款5元順豐包郵可選雜色!【崙立創(chuàng)盲網(wǎng)]01205404427904044A0120740432790404601211404527944045□12104043279£40450121340412795404401216404527?£404401217404427934046□120S4044279140450120440452791404301201404527?14044012014043279240430120740442792404501213404427954047012144045279640460121540432795404E0121140452794404501207404427914045012054044279140460120440432790404E01202404327904044計箕平均數(shù)后各通道的朋匚值藥:itElClC1l:=ltltlelUV:=J_ue:UMJClChaimel1Value:1203KDC1CLaimel4Valu^:4044ALC1Clianiiel5Value:2790jVEIC1C1l:=ltltlel6V:=J_ue:4044V青除窗口|打開文件||發(fā)送文件惇止|葢趕端口號C0M12USE-SERIALCH340也廠HO顯示保存數(shù)振廠提收數(shù)堀到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲物流設(shè)備采購合同樣本
- 物業(yè)租賃合同協(xié)議書
- 鋼結(jié)構(gòu)工程安裝合同范本
- 版辦公樓擴建工程合同范本
- 汽車買賣合同樣本
- 度消防水電安裝項目合同協(xié)議
- 桶裝水代理合同協(xié)議
- 養(yǎng)牛養(yǎng)殖項目可行性報告
- 農(nóng)村自建房屋買賣合同范本
- 度房地產(chǎn)開發(fā)項目施工總承包合同
- 2025年山西省長治市部分學(xué)校中考一模語文試卷(含解析)
- 西安特教面試試題及答案
- 2025年中考道德與法治必背知識總結(jié)(按主題分類)
- 2025年涂裝工藝考試試題及答案
- 2025年糧食、棉花、化肥等農(nóng)產(chǎn)品倉儲服務(wù)項目可行性研究報告
- DeepSeek在金融服務(wù)中的創(chuàng)新應(yīng)用
- DBJ04T 467-2023 建筑防煙排煙系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 生物反饋療法在盆底失弛緩型便秘中的研究進展
- 2025年全國臺聯(lián)機關(guān)服務(wù)中心招聘事業(yè)編制人員歷年高頻重點提升(共500題)附帶答案詳解
- 2024-2030年全球及中國近紅外熒光成像系統(tǒng)行業(yè)運行模式及未來應(yīng)用前景報告
- 成立工作專班的通知怎么寫-成立工作專班的通知
評論
0/150
提交評論