FIFO启用 CTRCL2[MRP] |= 1; 如果设置了该位,匹配过程将从邮箱开始,如果没有匹配,则在RX FIFO上继续匹配。
仲裁过程根据CTRL1 [LBUF]和MCR [LPRIOEN]位设置选择扫描结束时活动Tx邮箱中的获胜者。
5.2.1最低邮箱号优先
如果CTRL1 [LBUF]置位,则找到的第一个(最低编号)活动Tx邮箱是仲裁获胜者。 当CTRL1 [LBUF]置位时,MCR [LPRIOEN]位无效。
5.2.2最高优先级的邮箱
如果CTRL1 [LBUF]位置0,则仲裁过程搜索具有最高优先级的有效Tx邮箱,这意味着当多个外部节点竞争总线时,具有最高优先级邮箱的帧在CAN总线上赢得仲裁的概率更高。
如果两个或多个邮箱具有相同的仲裁值,则具有最低编号的邮箱是仲裁获胜者。
仲裁值的组成取决于MCR [LPRIOEN]位设置。
5.2.2.1 Local Priority disabled
如果MCR [LPRIOEN]位置0 && CTRL1 [LBUF]置0,仲裁值将建立在精确的位序列中,仲裁时将根据ID获取最高优先级Tx MB
5.2.2.2 Local Priority enabled
MCR [LPRIOEN] 置1 && CTRL1 [LBUF]置0 使用本地优先级。 在这种情况下,邮箱PRIO字段包含在仲裁值的最左侧(参见下表)。
设置Tx MB 时 具有PRIO值较低的邮箱具有更高优先级,而不管仲裁值(ID)如何。
请注意,PRIO字段不是CAN总线上帧的一部分。 其目的只是影响内部仲裁程序。