1 目前采用CUBEMX生成了多通道的初始化,只有配置 sConfig.Channel = ADC_CHANNEL_0; sConfig.Rank = ADC_RANK_CHANNEL_NUMBER; if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) { Error_Handler(); } /**Configure for the selected ADC regular channel to be converted. */ sConfig.Channel = ADC_CHANNEL_1; if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) { Error_Handler(); } /**Configure for the selected ADC regular channel to be converted. */ sConfig.Channel = ADC_CHANNEL_2; if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) { Error_Handler(); } /**Configure for the selected ADC regular channel to be converted. */ sConfig.Channel = ADC_CHANNEL_3; if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) { Error_Handler(); } /**Configure for the selected ADC regular channel to be converted. */ sConfig.Channel = ADC_CHANNEL_4; if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) { Error_Handler(); } /**Configure for the selected ADC regular channel to be converted. */ sConfig.Channel = ADC_CHANNEL_5; if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) { Error_Handler(); } 但是没有启动 2 另外,我读取这个AD,采用查询方式的时候,如何获得4个通道的数据呢? |
评分
查看全部评分
评分
查看全部评分
楼主万事具备,只欠东风。
使能扫描模式
hadc1.Init.ScanConvMode = ENABLE;
启动ADC
HAL_ADC_Start(&hadc1);
读取ADC
HAL_ADC_PollForConversion(&hadc1, 4);Value = HAL_ADC_GetValue(&hadc1);
DMA方式:
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)& ADC_Result,4);
ST官方代码很多可以参考呀。
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分