找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2115|回复: 0
收起左侧

STM32 ADC程序汇总 中断 DMA读取 同步规则

[复制链接]
ID:374855 发表于 2021-3-28 20:39 | 显示全部楼层 |阅读模式
介绍了STM32内部AD转换的各种编程方法,包括单通道中断读取、单通道DMA读取、多通道DMA读取、双ADC同步规则、以及芯片温度的检测
51hei图片20210328203917.png

单片机源程序如下:

  1. // ADC 单通道采集

  2. #include "stm32f10x.h"
  3. #include "bsp_usart.h"
  4. #include "bsp_adc.h"

  5. // ADC1转换的电压值通过MDA方式传到SRAM
  6. extern __IO uint16_t ADC_ConvertedValue;

  7. // 局部变量,用于保存转换计算后的电压值          
  8. float ADC_ConvertedValueLocal;        

  9. // 软件延时
  10. void Delay(__IO uint32_t nCount)
  11. {
  12.   for(; nCount != 0; nCount--);
  13. }

  14. /**
  15.   * @brief  主函数
  16.   * @param  无
  17.   * @retval 无
  18.   */
  19. int main(void)
  20. {       
  21.         // 配置串口
  22.         USART_Config();
  23.        
  24.         // ADC 初始化
  25.         ADCx_Init();
  26.        
  27.         printf("\r\n ----这是一个ADC单通道DMA读取实验----\r\n");
  28.        
  29.         while (1)
  30.         {
  31.                 ADC_ConvertedValueLocal =(float) ADC_ConvertedValue/4096*3.3; // 读取转换的AD值
  32.        
  33.                 printf("\r\n The current AD value = 0x%04X \r\n", ADC_ConvertedValue);
  34.                 printf("\r\n The current AD value = %f V \r\n",ADC_ConvertedValueLocal);

  35.                 Delay(0xffffee);  
  36.         }
  37. }
  38. /*********************************************END OF FILE**********************/
复制代码

所有代码51hei提供下载:
31-ADC—电压采集.7z (572.09 KB, 下载次数: 58)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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