一、寫在前面
????????ADC通道采集數(shù)據(jù)的兩種方式:
? ? ? ? 1)ADC輪詢采集數(shù)據(jù)直接放到數(shù)組中;
? ? ? ? 2)采用中斷方式,ADC采集完成進(jìn)入中斷,中斷關(guān)閉ADC采集,取數(shù)據(jù)之后再打開ADC采集。
以下按第一種方式實(shí)現(xiàn):
二、ADC多通道配置
1)配置通道及參數(shù)
? ? 如果要控制輪詢采樣通道,設(shè)置Sequencer參數(shù),Rank1,2,3即為采樣通道順序。
? ? ??
2)配置DMA
3)配置引腳
二、配置RCC、SYS、時(shí)鐘及Project Manager,生成代碼。
三、代碼部分文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-755417.html
? 需手動(dòng)開啟ADC采集:HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&ADC1_Value,6);文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-755417.html
/* USER CODE BEGIN 0 */
uint32_t ADC1_Value[6] = {0};
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_ADC1_Init();
/* USER CODE BEGIN 2 */
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&ADC1_Value,6);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin(GPIOA, DEMO_LED_Pin);
delay_ms(1000);
}
/* USER CODE END 3 */
}
到了這里,關(guān)于STM32CubeMX配置-ADC多通道配置(DMA) (STM32G070)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!