你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于stm32g431串口与FDCAN数据不同同时处理问题

[复制链接]
spongboe 提问时间:2024-4-17 19:45 / 已解决

本人使用的是stm32g431cbu6的芯片,主频设置160Mhz,串口700000波特率,CAN仲裁域1M,数据域2M。串口配置DMA接收,fdcan为普通中断。二者的中断优先级相同,为什么当数据同时到达的时候,会优先处理串口的数据,即便我降低串口中断的优先级也不行;唯一可行的是降低串口的波特率,但是这样不符合我的需求,请问大佬们有遇到过这种情况吗~感谢解惑!!!

收藏 评论1 发布时间:2024-4-17 19:45

举报

1个回答
xmshao 最优答案 回答时间:2024-4-18 08:30:16
关于中断响应问题:


如果抢占优先级不相同时,不同中断间可以发生抢占;


如果抢占优先级一样,两个中断请求同时出现时,子优先级高的优先响应;


如果抢占优先级和子优先级一样,两个中断请求同时出现时,在中断矢量表里对应的中断编号小的优先响应。


具体到你这里,如果UART和CAN中断的抢占和子优先级都一样,如果同时出现时会优先响应UART中断,


因为STM32手册里的中断矢量表VECTOR TABLE里可以看到UART的中断矢量编号要小于FDCAN中断的。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版