STM32CubeMX配置STM32F103C8T6 RTC分频器问题
STM32G473,PA3导致定时器定时误差过大
stm32g070rbt6 ADC1 多通道循环自动采样DMA传输到ram,采样时间要设置得很长采样值才能相对准确
定时器输出PWM控制电机的问题
串口DMA收发出现ORE错误
stm32u575 gpdma burst length=1 配置其他数值不工作
ST-LINK Utility不能识别STM32G0的芯片,不能下载程序
stm32使用hal库数据疑问
stm32使用hal库开发串口通讯问题
TIM 单脉冲输出后的电平如何设置?
微信公众号
手机版
请各位老师指点一下
而只要是中断模式,都会有执行时间的。
一般应用中都还会有很多其他中断的,用DMA模式就可以很好解决这类问题。
可以肯定,低优先级的中断没法抢占高优先级的,注意配置时,优先级越高数字越小。
你如果使用CubeMx配置的话,在NVIC那里就可以看到各个中断优先级 的配置。
当然,在调试环境里也可以查看各中断的优先级。
感谢您的评论,库函数确实是只有抢占的,所以我也只配置了抢占,串口1优先级直接给了0,其他的都非0了。不过还是这个现象
尽管你目前有这个现象,但这个现象并不能说明高优先级中断 能 被低优先级的抢占。
见不到你的具体代码,还是给些建议与你:
一、确认下优先级的配置;
二、确认下在高波特率前提下,UART1的接收是否总是可靠;
三、UART1接收处理代码有无跟其他关联的地方,容易导致处理速度变慢的情形;
四、UART3收发处理代码里有无临时关闭中断的操作;
之前用的G070芯片,串口1和3配置的相同抢占等级而且还不是最高的优先级,没有出现这种现象,现在移植到G0B1上出现了。我拿CUBEMX生成的NVIC部分,也就这两条库函数语句