目录
尝试14:将CAN DRIVER释放发送邮箱的临界区保护打开
==>传送门:AUTOSAR黑神话之总目录(持续更新)_大表哥汽车人的博客-优快云博客
根据测试,我们可以观测到CAN总线发送报文丢失的问题。经过分析,可能是硬件对象忙碌导致的,这可能是因为写硬件对象时发生了错误或者硬件对象一直被占用。对于FULL类型的发送邮箱来说,在检查是否可用时,如果被占用,则会反馈BUSY,解除占用是在中断处理函数Can_17_McmCan_IsrTransmitHandler-->Can_17_McmCan_lTxEventHandler-->Can_17_McmCan_lTxEventProcessingHandler中完成的。但是临界保护函数中没有将中断挂起,导致该问题的发生。解决方法是使用正确的IFX_Os.h文件替换原来的文件。此外,还需要注意发送缓冲区的类型和状态,以及是否启用了传输缓冲区。如果启用了传输缓冲区,并且传输请求发送失败,则L-PDU可以存储在CanIfTxBuf