// 初始化ADC和DMA
HAL_ADC_Start_DMA(&hadc, (uint32_t*)adc_buffer, BUFFER_SIZE);
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) {
// DMA传输完成时调用
ProcessADCBuffer();
}
void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) {
// DMA传输到一半时调用
ProcessADCHalfBuffer();
}
void ProcessADCBuffer() {
// 处理完整的ADC数据缓冲区
}
void ProcessADCHalfBuffer() {
// 处理半缓冲区的数据
}
|