谁知道STM32用STLINK下载的时候,不连接3V3不能下载
STM32G030F6P6TR 48MHz下Flash擦写必HardFault?官方库疑似有坑,求勘误或替代方案
异步传输中的奇偶帧位
STM32L562DK探索板——如何通过板载ST-LINK的虚拟串口进行通讯?
STM32 官方Bootloader相关咨询
使用 HAL_UART_Transmit_IT() 实现 printf
使用 HAL 库通过串口以 ASCII 形式发送整型数据
串口DMA收发出现ORE错误
STM32F103C8T6 上电后无法通过串口发出数据的问题?
HAL_UART_Transmit_DMA 异常
微信公众号
手机版
请各位老师指点一下
而只要是中断模式,都会有执行时间的。
一般应用中都还会有很多其他中断的,用DMA模式就可以很好解决这类问题。
可以肯定,低优先级的中断没法抢占高优先级的,注意配置时,优先级越高数字越小。
你如果使用CubeMx配置的话,在NVIC那里就可以看到各个中断优先级 的配置。
当然,在调试环境里也可以查看各中断的优先级。
感谢您的评论,库函数确实是只有抢占的,所以我也只配置了抢占,串口1优先级直接给了0,其他的都非0了。不过还是这个现象
尽管你目前有这个现象,但这个现象并不能说明高优先级中断 能 被低优先级的抢占。
见不到你的具体代码,还是给些建议与你:
一、确认下优先级的配置;
二、确认下在高波特率前提下,UART1的接收是否总是可靠;
三、UART1接收处理代码有无跟其他关联的地方,容易导致处理速度变慢的情形;
四、UART3收发处理代码里有无临时关闭中断的操作;
之前用的G070芯片,串口1和3配置的相同抢占等级而且还不是最高的优先级,没有出现这种现象,现在移植到G0B1上出现了。我拿CUBEMX生成的NVIC部分,也就这两条库函数语句