• 大小: 309KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-26
  • 语言: 其他
  • 标签: stm32f1  ADC  源代码  

资源简介

本工程是现产品使用的多通道ADC连续转换项目,有多重转换方法样例

资源截图

代码片段和文件信息

/**
  ********************************  STM32F10x  *********************************
  * @文件名     : main.c
  * @作者       : strongerHuang
  * @库版本     : V3.5.0
  * @文件版本   : V1.0.0
  * @日期       : 2016年07月22日
  * @摘要       : 主函数 - ADC三通道DMA连续转换(3通道、软件单次触发)
                   间隔500ms LED变化一次 检测电压并串口打印
  ******************************************************************************/
/*----------------------------------------------------------------------------
  更新日志:
  2016-07-22 V1.0.0:初始版本
  ----------------------------------------------------------------------------*/
/* 包含的头文件 --------------------------------------------------------------*/
#include “bsp.h“
#include “adc.h“
#include “timer.h“
#include “usart.h“


/************************************************
函数名称 : System_Initializes
功    能 : 系统初始化
参    数 : 无
返 回 值 : 无
作    者 : strongerHuang
*************************************************/
void System_Initializes(void)
{
  BSP_Initializes();
  ADC_Initializes();
  TIMER_Initializes();
  USART_Initializes();
}

/************************************************
函数名称 : main
功    能 : 主函数入口
参    数 : 无
返 回 值 : int
作    者 : strongerHuang
*************************************************/
int main(void)
{
  uint32_t voltage;                              //电压
  uint8_t  vol_buf[4];                           //打印BUF

  System_Initializes();

  while(1)
  {
    TIMDelay_Nms(500);                           //TIM延时500ms
    LED_TOGGLE;                                  //LED亮灭变化

    
    ADC_SoftwareStartConvCmd(ADC1 ENABLE);      //启动转换

    while(!DMA_GetFlagStatus(DMA1_IT_TC1));      //等待传输完成
    DMA_ClearFlag(DMA1_IT_GL1);                  //清除标志位

    /* 通道1 */
    voltage = ADC_Convert(ADC_Buf[0]);
    vol_buf[0] = (voltage/1000)%10 + ‘0‘;
    vol_buf[1] = (voltage/100)%10 + ‘0‘;
    vol_buf[2] = (voltage/10)%10 + ‘0‘;
    vol_buf[3] = (voltage)%10 + ‘0‘;
    USART1_SendNByte(vol_buf 4);                //打印1000倍电压值
    USART1_SendByte(0x0A);                       //换行

    /* 通道2 */
    voltage = ADC_Convert(ADC_Buf[1]);
    vol_buf[0] = (voltage/1000)%10 + ‘0‘;
    vol_buf[1] = (voltage/100)%10 + ‘0‘;
    vol_buf[2] = (voltage/10)%10 + ‘0‘;
    vol_buf[3] = (voltage)%10 + ‘0‘;
    USART1_SendNByte(vol_buf 4);                //打印1000倍电压值
    USART1_SendByte(0x0A);                       //换行

    /* 通道3 */
    voltage = ADC_Convert(ADC_Buf[2]);
    vol_buf[0] = (voltage/1000)%10 + ‘0‘;
    vol_buf[1] = (voltage/100)%10 + ‘0‘;
    vol_buf[2] = (voltage/10)%10 + ‘0‘;
    vol_buf[3] = (voltage)%10 + ‘0‘;
    USART1_SendNByte(vol_buf 4);                //打印1000倍电压值
    USART1_SendByte(0x0A);                       //换行
  }
}


/**** Copyright (C)2016 strongerHuang. All Rights Reserved **** END OF FILE ****/

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\
     文件       14881  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\ADC.uvoptx
     文件       17591  2016-07-21 18:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\ADC.uvprojx
     目录           0  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\App\
     文件        3026  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\App\main.c
     文件        3259  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\App\stm32f10x_conf.h
     文件        4594  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\App\stm32f10x_it.c
     文件        2086  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\App\stm32f10x_it.h
     目录           0  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\
     文件        5491  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\adc.c
     文件        1084  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\adc.h
     文件        3281  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\bsp.c
     文件        1185  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\bsp.h
     文件        2486  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\timer.c
     文件        1305  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\timer.h
     文件        4562  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\usart.c
     文件         942  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Bsp\usart.h
     目录           0  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Doc\
     文件         297  2016-07-22 12:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Doc\ReadMe.txt
     目录           0  2016-07-21 18:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\
     目录           0  2016-07-21 18:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\
     目录           0  2016-07-21 18:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\CoreSupport\
     文件       17273  2010-06-07 10:25  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\CoreSupport\core_cm3.c
     文件       85714  2011-02-09 14:59  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\CoreSupport\core_cm3.h
     文件        8331  2013-06-24 11:04  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\CoreSupport\stdint.h
     目录           0  2016-07-21 18:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\DeviceSupport\
     目录           0  2016-07-21 18:00  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\DeviceSupport\startup\
     文件       15766  2011-03-10 10:52  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\DeviceSupport\startup\startup_stm32f10x_cl.s
     文件       15503  2011-03-10 10:52  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\DeviceSupport\startup\startup_stm32f10x_hd.s
     文件       15692  2011-03-10 10:52  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\DeviceSupport\startup\startup_stm32f10x_hd_vl.s
     文件       12376  2011-03-10 10:52  STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)\Libraries\CMSIS\DeviceSupport\startup\startup_stm32f10x_ld.s
............此处省略59个文件信息

评论

共有 条评论