|
采用STM32F407, DMA1 stream5(request: usart2_rx) DMA1 stream6(usart2_tx), USART2 global interrupt优先级设置为1,1; STREAM5,STREAM6 GLOBAL INTERRUPT优先级设置为0,0; 请问:NVIC设置中DMA1 STREAM5 GLOBAL INTERRUPT 和DMA1 STREAM6 GLOBAL INTERRUPT都已经选择了ENABLED, 但是是灰色显示的,而USART2 global interrupt也选择了ENALBED,但是是可以修改的状态;灰色不可修改的状态是什么意思? 在串口有数据接收时,是怎么调用中断服务程序的,先调DMA1_stream5_IRQHandler(void)还是先调USART2_IRQHnalder(void)? 调试时只发现程序调用了USART2_IRQHANDLER?不知道正不正确? 谢谢指点! |
简单平稳过度-回顾2025&说说我心中的ST中文论坛
我最近在用stm32f407做CAN通讯的回环+静默,但是现在显示可以成功发送数据,FIFO接收不到数据,这是什么原因啊
DMA传输完成后,串口与DMA一直处于忙状态
CubeAI如何加载caffe模型
stm32f407的adc采样不稳?
STM32F407VET6 能适配哪些FATFS版本文件
stm32 定时器外部时钟1的TI1FP1及TI2FP2的设置问题
STM32F1定时器中触发信号TRC的来源及选择配置是怎么样的
STM32H7A3VGTA QSPI读W25Q128J DMA模式不能工作
无刷电机PWM输出配置
微信公众号
手机版
在系统功能复杂,中断众多时,优先级的合理安排就显得很重要了。
2、你在cubeMx配置里看到DMA中断使能是灰色时,这里表示不能手动,CubeMx已经默认帮我使能DMA相关中断响应了。
不必太过担心。
3、你现在都开启了UART基于DMA方式的收发,当收到数据时无须手动去查询和提取数据了,因为DMA帮完成了数据搬运。我们只需基于
DMA接收完成中断去你设置的接收缓冲里提取数据并进行可能的后续处理。
建议稍微阅读下UART基于DMA接收的相关例程。
感谢!