新手上路
- 积分
- 43
- 金钱
- 43
- 注册时间
- 2019-10-25
- 在线时间
- 9 小时
|
发表于 2020-4-30 14:18:39
|
显示全部楼层
对于这个问题,我使用的是STM32G0,使用的是LL库,配置如下可正确使用
LL_ADC_StartCalibration(ADC1);
while( LL_ADC_IsCalibrationOnGoing(ADC1));
LL_ADC_Enable(ADC1);
LL_ADC_REG_StartConversion(ADC1);
//这个使能过程是根据HAL库的使能过程总结而来
LL_DMA_SetDataLength(DMA1,LL_DMA_CHANNEL_1,3); //这个是关键,不能放到adc校准前面,即使把后面几条语句放到后面,这条语句不放到ADC使能后面都会错位
LL_DMA_SetPeriphAddress(DMA1,LL_DMA_CHANNEL_1,LL_ADC_DMA_GetRegAddr(ADC1,LL_ADC_DMA_REG_REGULAR_DATA));
LL_DMA_SetMemoryAddress(DMA1,LL_DMA_CHANNEL_1,(uint32_t)&AdcConvData_Tab);
LL_DMA_EnableChannel(DMA1,LL_DMA_CHANNEL_1);
|
|