<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[MC03芯片MCAL 2_3_0版本，CAN 两个ID共用一个发送邮箱时偶发失帧]]></title><description><![CDATA[<p dir="auto">问题：<br />
两个不同的CAN ID共用一个发送邮箱。在当前Can_Lld_IrqProcessMailBox的中断处理逻辑中，先调用CanIf_TxConfirmation通知上层发送完成，后续才调用Can_Lld_UpdateIdleState解锁邮箱。若这两个ID以高频交替发送，由于邮箱尚未解锁，后续报文可能无法及时写入，导致丢帧。<br />
<img src="https://yt-static-main.oss-cn-shanghai.aliyuncs.com/nodebb/296/6f9c51f8-6751-4dcb-b518-5de9d65616d8.png" alt="7f966baa-6a4f-4660-a907-56c8a808f986-image.png" class=" img-fluid img-markdown" /><br />
方案：<br />
能不能把这里的CanIf_TxConfirmation函数放在Can_Lld_UpdateIdleState函数之后来解决这个问题？即先解锁邮箱再通知上层。其他地方均无改动，这样子有什么隐患吗？想交流一下<br />
<img src="https://yt-static-main.oss-cn-shanghai.aliyuncs.com/nodebb/296/95caacb7-0230-4cf4-a768-682d612c139b.png" alt="22c6325c-14ac-439f-98df-a8ecd5db815e-image.png" class=" img-fluid img-markdown" /><br />
谢谢支持</p>
]]></description><link>https://forum.ytmicro.com/topic/2073/mc03芯片mcal-2_3_0版本-can-两个id共用一个发送邮箱时偶发失帧</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 19:08:36 GMT</lastBuildDate><atom:link href="https://forum.ytmicro.com/topic/2073.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Jul 2026 03:26:07 GMT</pubDate><ttl>60</ttl></channel></rss>