|
发表于 2024-1-8 20:59:10
|
显示全部楼层
多谢硬汉哥, 想法是尽量利用H7的优势资源,缩小这块的处理时间。另外,在ST 双ADC模式例子里面开了ADC和DMA中断,且ADC中断基本较高。我实际跟踪了下,只有DMA中断会触发,ADC中断是不会进入的。不知道这两个中断中为何ADC优先级要设置高一些? 我移植过来后,采集音频,滤波处理后通过SAI DMA到音频编码器播放,居然SAI DMA无法启动,SAI DMA是在ADC DMA中断中启动的,优先级比ADC DMA低。 不知道这种多条高速DMA情况下,是不是优先级有什么讲究? 先谢过了!!!
/* NVIC configuration for DMA interrupt (transfer completion or error) */
/* Priority: high-priority */
HAL_NVIC_SetPriority(ADCx_DMA_IRQn, 1, 0);
HAL_NVIC_EnableIRQ(ADCx_DMA_IRQn);
/* NVIC configuration for ADC interrupt */
/* Priority: high-priority */
HAL_NVIC_SetPriority(ADCx_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(ADCx_IRQn); |
|