找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2565|回复: 1
收起左侧

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

[复制链接]
ID:325591 发表于 2018-7-14 18:47 | 显示全部楼层 |阅读模式
用的是F103,因为F1的DMA只有ADC1和ADC3,所以采用ADC1的多通道来进行

单片机源程序如下:
  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);             //延时初始化
  15.         NVIC_Configuration();
  16.         uart_init(9600);
  17.         DMA_Config(DMA1_Channel1,(u32)ADC1_DR_Address,(u32)&AD_Value,6);//cndtr对应所开信道个数
  18.           Adc_Init();
  19.           DMA_Cmd(DMA1_Channel1, ENABLE);      //启动DMA通道
  20.     ADC_SoftwareStartConvCmd(ADC1, ENABLE);          //软件启动AD转换
  21.                    while(1)
  22.    {
  23.                         for(i=0;i<6;i++)                        //循环6次转换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.   }

复制代码

所有资料51hei提供下载:
实验24 四通道ADC (DMA传输).zip (353.93 KB, 下载次数: 69)
回复

使用道具 举报

ID:267330 发表于 2018-9-14 09:08 | 显示全部楼层
学习,但是没有黑笔
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表