Обновление
This commit is contained in:
parent
8a75a195d3
commit
ba21000e8d
|
|
@ -1056,21 +1056,21 @@ static FLEXCAN_ErrorType FLEXCAN_LL_SetLegacyFifo(uint8_t u8CanIndex, FLEXCAN_Rx
|
||||||
u32FilterNum++;
|
u32FilterNum++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* filter elements number are multiple of 8 */
|
// filter elements number are multiple of 8
|
||||||
u32FilterNumLeft = 8U - u32RxFilterCnt % 8U;
|
u32FilterNumLeft = 8U - u32RxFilterCnt % 8U;
|
||||||
/* set left same to last filter */
|
// set left same to last filter
|
||||||
for (u32Index = 0U; u32Index < u32FilterNumLeft; u32Index++)
|
for (u32Index = 0U; u32Index < u32FilterNumLeft; u32Index++)
|
||||||
{
|
{
|
||||||
/* extended id */
|
// extended id
|
||||||
if (pRxFilterList[u32FilterNum - 1U].eRxFrameType == FLEXCAN_ID_EXT)
|
if (pRxFilterList[u32FilterNum - 1U].eRxFrameType == FLEXCAN_ID_EXT)
|
||||||
{
|
{
|
||||||
FLEXCAN_HWA_MbRam(pCan, 4U * 6U + u32FilterNum + u32Index, (1U << 30) | (pRxFilterList[u32FilterNum - 1U].u32RxCanId << 1)); /* id */
|
FLEXCAN_HWA_MbRam(pCan, 4U * 6U + u32FilterNum + u32Index, (1U << 30) | (pRxFilterList[u32FilterNum - 1U].u32RxCanId << 1)); // id
|
||||||
FLEXCAN_HWA_SetIndividualMask(pCan, u32FilterNum + u32Index, (1U << 30) | pRxFilterList[u32FilterNum - 1U].u32RxCanIdMask); /* mask */
|
FLEXCAN_HWA_SetIndividualMask(pCan, u32FilterNum + u32Index, (1U << 30) | pRxFilterList[u32FilterNum - 1U].u32RxCanIdMask); // mask
|
||||||
}
|
}
|
||||||
else /* standard id */
|
else // standard id
|
||||||
{
|
{
|
||||||
FLEXCAN_HWA_MbRam(pCan, 4U * 6U + u32FilterNum + u32Index, pRxFilterList[u32FilterNum - 1U].u32RxCanId << 19); /* id */
|
FLEXCAN_HWA_MbRam(pCan, 4U * 6U + u32FilterNum + u32Index, pRxFilterList[u32FilterNum - 1U].u32RxCanId << 19); // id
|
||||||
FLEXCAN_HWA_SetIndividualMask(pCan, u32FilterNum + u32Index, (1U << 30) | (pRxFilterList[u32FilterNum - 1U].u32RxCanIdMask << 19)); /* mask */
|
FLEXCAN_HWA_SetIndividualMask(pCan, u32FilterNum + u32Index, (1U << 30) | (pRxFilterList[u32FilterNum - 1U].u32RxCanIdMask << 19)); // mask
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1653,6 +1653,7 @@ FLEXCAN_ErrorType FLEXCAN_RxFilterConfig(uint8_t u8CanIndex, const FLEXCAN_MBCon
|
||||||
pCurSetting->u8RxMbStart1 = (uint8_t)(6U + 2U * (pRxMbCfg->u8RxFilterFifoCnt / 8U + (pRxMbCfg->u8RxFilterFifoCnt % 8U > 0U ? 1U : 0U)));
|
pCurSetting->u8RxMbStart1 = (uint8_t)(6U + 2U * (pRxMbCfg->u8RxFilterFifoCnt / 8U + (pRxMbCfg->u8RxFilterFifoCnt % 8U > 0U ? 1U : 0U)));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pCurSetting->u8TxMbStart1 = (uint8_t)(pCurSetting->u8RxMbStart1 + pCurSetting->u8RxMbCnt1);
|
pCurSetting->u8TxMbStart1 = (uint8_t)(pCurSetting->u8RxMbStart1 + pCurSetting->u8RxMbCnt1);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -2811,3 +2812,4 @@ void FLEXCAN_IRQHandler(uint8_t u8CanIndex)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue