赞
踩
选PA2,PA3,开启扫描模式,连续转换,关闭间断
通道选择,不配置则只会转换一个通道。使用软件触发
若是不用DMA中断,在NVIC中关闭中断,再在adc中的NVIC里去掉DMA中断
选择一个字节
必须使用uint32_t
- /* USER CODE BEGIN 1 */
- uint32_t AdcBuf[2]={0};//DMA 选用一个字节,则必须使用uint32_t
- uint8_t i;
- /* USER CODE END 1 */
在main函数中加入adc校准与开启DMA
需注意,低版本的cubemx中是先初始化ADC,再初始化DMA,要改成先DMA再ADC
- /* USER CODE BEGIN 2 */
- HAL_ADCEx_Calibration_Start(&hadc1);
- HAL_ADC_Start_DMA(&hadc1, (uint32_t *)AdcBuf, 2);
- /* USER CODE END 2 */
在while中使用串口将adc电压打印出来
- while (1)
- {
- for(i=2;i<4;i++)
- {
- printf("PA%d: %.4fV\r\n",i,AdcBuf[i-2]*3.3/4096);
- }
- HAL_Delay(1000);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。