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

QQ登錄

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

搜索
查看: 3147|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

基于STM32的四通道ADC+DMA程序源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:325591 發(fā)表于 2018-7-14 18:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
用的是F103,因?yàn)镕1的DMA只有ADC1和ADC3,所以采用ADC1的多通道來(lái)進(jìn)行

單片機(jī)源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "lcd.h"
  5. #include "adc.h"
  6. #include "dma.h"

  7. #define ADC1_DR_Address    ((uint32_t)0x4001244C)
  8.   u16 AD_Value[6];   
  9.   float volta[6];
  10.   u8 i;
  11.   int main()
  12.   {
  13.           SystemInit();
  14.           delay_init(72);             //延時(shí)初始化
  15.         NVIC_Configuration();
  16.         uart_init(9600);
  17.         DMA_Config(DMA1_Channel1,(u32)ADC1_DR_Address,(u32)&AD_Value,6);//cndtr對(duì)應(yīng)所開(kāi)信道個(gè)數(shù)
  18.           Adc_Init();
  19.           DMA_Cmd(DMA1_Channel1, ENABLE);      //啟動(dòng)DMA通道
  20.     ADC_SoftwareStartConvCmd(ADC1, ENABLE);          //軟件啟動(dòng)AD轉(zhuǎn)換
  21.                    while(1)
  22.    {
  23.                         for(i=0;i<6;i++)                        //循環(huán)6次轉(zhuǎn)換AD值
  24.                         {
  25.                         volta[i] =(float) AD_Value[i]/4095*3.3;
  26.                         }
  27.                       printf("AD1=%d\n",AD_Value[0]);        printf("\r\n volta1 = %f V \r\n",volta[0]);
  28.                         printf("AD2=%d\n",AD_Value[1]);        printf("\r\n volta2 = %f V \r\n",volta[1]);
  29.                         printf("AD3=%d\n",AD_Value[2]);        printf("\r\n volta3 = %f V \r\n",volta[2]);
  30.                         printf("AD4=%d\n",AD_Value[3]);        printf("\r\n volta4 = %f V \r\n",volta[3]);
  31.                         printf("AD5=%d\n",AD_Value[4]);        printf("\r\n volta5 = %f V \r\n",volta[4]);
  32.                         printf("AD6=%d\n",AD_Value[5]);        printf("\r\n volta6 = %f V \r\n",volta[5]);
  33.                           delay_ms(500);
  34.    }
  35.   }

復(fù)制代碼

所有資料51hei提供下載:
實(shí)驗(yàn)24 四通道ADC (DMA傳輸).zip (353.93 KB, 下載次數(shù): 69)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:267330 發(fā)表于 2018-9-14 09:08 | 只看該作者
學(xué)習(xí),但是沒(méi)有黑筆
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表