Browse Source

【主线待合】增加FDCAN的新旧版本区别

master
Lizongdi 11 hours ago
parent
commit
cb9e2962ff
  1. 4
      bspMCU/bsp_CAN.c
  2. 5
      bspMCU/include/bsp_CAN.h
  3. 1
      library/common/common_cfg.h.in

4
bspMCU/bsp_CAN.c

@ -115,7 +115,7 @@ void CAN_RX_IRQHandler(TComCtrl *_ptComCtrl)
if (HAL_FDCAN_GetRxMessage(ptCANUserData->m_can, FDCAN_RX_FIFO0, ptCANUserData->m_canrx, ptCANUserData->m_temp) == HAL_OK)
{
// FD_CAN_1_Handler.ReceivedFrameID = (uint32_t) CAN_RX_HDR.Identifier;
#if NewCANSendVersion
#if CONFIG_CAN_NEW_VERSION
uint32_t iRxLen = (uint32_t) ptCANUserData->m_canrx->DataLength;
#else
uint32_t iRxLen = (uint32_t) ptCANUserData->m_canrx->DataLength>>16;
@ -132,7 +132,7 @@ int CAN_TX_FIFOQ(TComCtrl *_ptComCtrl, uint32_t _iFrameID, char *_pBuffer, uint3
TCANUserData *ptCANUserData = (TCANUserData *)_ptComCtrl->m_pUserData;
ptCANUserData->m_cantx->BitRateSwitch = FDCAN_BRS_OFF;
#if NewCANSendVersion
#if CONFIG_CAN_NEW_VERSION
ptCANUserData->m_cantx->DataLength = (uint32_t) _iSize;
#else
ptCANUserData->m_cantx->DataLength = (uint32_t) _iSize << 16; //数据长度大于8的话会有错误

5
bspMCU/include/bsp_CAN.h

@ -69,7 +69,10 @@ extern "C"{
/*==============================================*
* constants or macros define *
*----------------------------------------------*/
#define NewCANSendVersion 0
#ifndef CONFIG_CAN_NEW_VERSION
#define CONFIG_CAN_NEW_VERSION 0
#endif
typedef struct
{

1
library/common/common_cfg.h.in

@ -11,6 +11,7 @@ extern "C"{
#endif /* __cplusplus */
#cmakedefine MEM_POOL_TOTAL_SIZE @MEM_POOL_TOTAL_SIZE@
#cmakedefine CONFIG_CAN_NEW_VERSION @CONFIG_CAN_NEW_VERSION@
#cmakedefine IOC_100PIN
#cmakedefine USE_TALNET

Loading…
Cancel
Save