STM32F030 使用CUBEMX配置ADC多通道采集 DMA传输

STM32CubeMX的配置
PA0,PA1复用为ADC通道
ADC配置
DMA配置
以下为测试代码
//usart重定向,注意使用前需要包含头文件<stdio.h>

int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
  return ch;
}

//定义数组,存放序列转换数据(数组里包含两个通道的数据,按序存放)

	uint16_t 	_u16ADC_Value[100];
	uint32_t 	_u32Value1;
	uint32_t 	_u32Value2;

//开启DMA和ADC。必须先开DMA

	HAL_ADC_Start_DMA(&hadc, (uint32_t*)&_u16ADC_Value, 100);
 	HAL_ADC_Start(&hadc); 
  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
	_u32Value1 = _u32Value2 = 0;		//求均值
	for(int i = 0; i <100; )	
	{
		_u32Value1 += _u16ADC_Value[i++];
		_u32Value2 += _u16ADC_Value[i++];
	}
	_u32Value1 /= 50;						
	_u32Value2 /= 50;
	printf("h1 = %5d,h2 = %d\r\n",_u32Value1,_u32Value2);
	HAL_Delay(300);
  }

  • 11
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菠萝地亚狂想曲

送我一瓶农夫山泉?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值